ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
INFO - Result is 362880ERROR - negative argument java.lang.IllegalArgumentException: argument -3 less then zero at app6.DemoLog.factorial(DemoLog.java:35) at app6.DemoLog.main(DemoLog.java:27) Возможна также и программная настройка логгирования. Тогда в код программы необходимо добавить следующее: FileAppender appender = new FileAppender( new SimpleLayout(), "log.txt"); logger.addAppender(appender); logger.setLevel(Level.DEBUG); Для вывода на консоль и в XML необходимо добавить следующее в конфигурационный файл: <appender name="ConsAppender" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.SimpleLayout"/> </appender> <appender name="XMLAppender" class="org.apache.log4j.FileAppender"> <param name="File" value="log.xml" /> <layout class="org.apache.log4j.xml.XMLLayout"/> </appender> <root> <appender-ref ref="ConsAppender" /> <appender-ref ref="XMLAppender" /> </root> Или программно: ConsoleAppender appender2 = new ConsoleAppender(new SimpleLayout()); FileAppender appender3 = new FileAppender(new XMLLayout(), "log.xml"); logger.addAppender(appender2); logger.addAppender(appender3); В классе Logger объявлены методы, реагирующие на соответствующие события, а именно: fine(), info(), warning(), log(), throwing() и др. В приведенном примере запись в файл log.xml производится в зависимости от значения остатка после деления. /* пример # 2: стандартный регистратор ошибок: StandartDemoLog.java */package app6; import java.io.IOException; import java.util.logging.FileHandler; import java.util.logging.Level import java.util.logging.Logger;
public class StandartDemoLog { static Logger log = Logger.getLogger("app6");
public static void main(String[] args) throws SecurityException, IOException { /*инициализация и назначение для вывода логов простого файла, который по умолчанию использует XMLFormatter, то есть FileHandler fh = new FileHandler("log.xml"); log.addHandler(fh); log.setLevel(Level.WARNING); //установка уровня сообщений int arr[] = { 5, 6, 1, -4 }; for (int i = 0; i < arr.length; i++) { int j = arr[i] % 3; switch (j) { case 0: log.fine(arr[i] + "%3 = 0"); break; case 1: log.info(arr[i] + "%3 = 1"); break; case 2: log.warning(arr[i] + "%3 = 2"); break; default: log.severe(arr[i] + "%3 < 0"); } } } } В результате на консоль будет выведено: App6.DemoLog main WARNING: 5%3 = 2 App6.DemoLog main INFO: 1%3 = 1 App6.DemoLog main SEVERE: -4%3 < 0 В файле log.xml та же информация будет сохранена в виде <?xml version="1.0" encoding="windows-1251" standalone="no"?> <!DOCTYPE log SYSTEM "logger.dtd"> <log> <record> <date>2006-03-17T15:39:03</date> <millis>1142602743635</millis> <sequence>0</sequence> <logger>app6</logger> <level>WARNING</level> <class>app6.DemoLog</class> <method>main</method> <thread>10</thread> <message>5%3 = 2</message> </record> <record> <date>2006-03-17T15:39:03</date> <millis>1142602743736</millis> <sequence>1</sequence> <logger>app6</logger> <level>INFO</level> <class>app6.DemoLog</class> <method>main</method> <thread>10</thread> <message>1%3 = 1</message> </record> <record> <date>2006-03-17T15:39:03</date> <millis>1142602743736</millis> <sequence>2</sequence> <logger>app6</logger> <level>SEVERE</level> <class>app6.DemoLog</class> <method>main</method> <thread>10</thread> <message>-4%3 < 0</message> </record> </log> В несложных учебных проектах проще использовать стандартную библиотеку. JUnit Технология JUnit предлагает сделать более тесной связь между разработкой кода и его тестированием. В Java существует возможность проверить корректность работы класса, не прибегая к пробному выводу при отладке программы. Технология JUnit позволяет вне класса создавать тесты, при выполнении которых произойдет корректное завершение программы в результате неправильной ее работы. Кроме того, будет создано сообщение о возникшей ошибке. Если же результат работы теста не выявит ошибок, то программа продолжит её выполнение. Тесты создаются в процессе разработки в случае, когда требуется расширить функциональность системы. Разработка завершается, когда тест пройдет успешно. В процессе отладки тесты создаются, если в коде обнаруживается ошибка. Затем отладку следует продолжить до момента корректной отработки теста. Не нашли, что искали? Воспользуйтесь поиском:
|