package com.javarush.task.task34.task3412;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Date;
/*
Добавление логирования в класс
*/
public class Solution {
private static final Logger logger = LoggerFactory.getLogger(Solution.class);
private int value1;
private String value2;
private Date value3;
public Solution(int value1, String value2, Date value3) {
this.value1 = value1;
logger.debug("Полю \"value1\" " + " присвоено значение " + this.value1);
this.value2 = value2;
logger.debug("Полю \"value2\" " + " присвоено значение " + this.value1);
this.value3 = value3;
logger.debug("Полю \"value3\" " + " присвоено значение " + this.value1);
}
public static void main(String[] args) {
}
public void calculateAndSetValue3(long value) {
logger.trace("Старт метода \"calculateAndSetValue3\"");
value -= 133;
if (value > Integer.MAX_VALUE) {
value1 = (int) (value / Integer.MAX_VALUE);
} else {
value1 = (int) value;
}
logger.debug("Полю \"value1\" " + " присвоено значение " + this.value1);
}
public void printString() {
logger.trace("Старт метода \"printString\"");
if (value2 != null) {
System.out.println(value2.length());
}
}
public void printDateAsLong() {
logger.trace("Старт метода \"printDateAsLong\"");
if (value3 != null) {
System.out.println(value3.getTime());
}
}
public void divide(int number1, int number2) {
logger.trace("Старт метода \"divide\"");
try {
System.out.println(number1 / number2);
} catch (ArithmeticException e) {
logger.error("Ошибка в строке 53! Деление " + number1 + " на " + number2);
}
}
public void setValue1(int value1) {
this.value1 = value1;
logger.debug("Полю \"value1\" " + " присвоено значение " + this.value1);
}
public void setValue2(String value2) {
this.value2 = value2;
logger.debug("Полю \"value2\" " + " присвоено значение " + this.value2);
}
public void setValue3(Date value3) {
this.value3 = value3;
logger.debug("Полю \"value3\" " + " присвоено значение " + this.value3);
}
}
Soros
39 уровень
debug 6 раз или 7?
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Владимир ШмаковJava Developer в ЛАНИТ
11 апреля 2020, 16:32решение
Зачем три раза в конструкторе то? в одном логе никак? И останется добавить еще в одном месте, в условии. Просто в конструкторе все присвоения идут сразу и нет смысла на каждый делать отдельный дебаг. А в методе calculateAndSetValue3 ты в зависимости от value ты пишешь в разных строчках, поэтому там стоит дважды логировать. Кстати, я бы в логах добавлял имена методов иначе не информативные получается.
+2