Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






INFO - Result is 362880




ERROR - 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, то есть
в файле информация будет сохраняться в виде XML */

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 позволяет вне класса создавать тесты, при выполнении которых произойдет корректное завершение программы в результате неправильной ее работы. Кроме того, будет создано сообщение о возникшей ошибке. Если же результат работы теста не выявит ошибок, то программа продолжит её выполнение.

Тесты создаются в процессе разработки в случае, когда требуется расширить функциональность системы. Разработка завершается, когда тест пройдет успешно.

В процессе отладки тесты создаются, если в коде обнаруживается ошибка. Затем отладку следует продолжить до момента корректной отработки теста.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных