Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions logs/app.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 6, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 9, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 8, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 2, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 16, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 18, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 5, counter value 20
INFO core.basesyntax.Counter:21 After decrementing, Thread # 16, counter value 16
INFO core.basesyntax.Counter:21 After decrementing, Thread # 18, counter value 15
INFO core.basesyntax.Counter:21 After decrementing, Thread # 2, counter value 17
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 19, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 11, counter value 20
INFO core.basesyntax.Counter:21 After decrementing, Thread # 5, counter value 14
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 7, counter value 20
INFO core.basesyntax.Counter:21 After decrementing, Thread # 6, counter value 18
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 15, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 14, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 12, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 3, counter value 20
INFO core.basesyntax.Counter:21 After decrementing, Thread # 11, counter value 12
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 10, counter value 20
INFO core.basesyntax.Counter:21 After decrementing, Thread # 15, counter value 10
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 20, counter value 20
INFO core.basesyntax.Counter:21 After decrementing, Thread # 12, counter value 8
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 1, counter value 20
INFO core.basesyntax.Counter:21 After decrementing, Thread # 3, counter value 6
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 13, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 17, counter value 20
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 4, counter value 20
INFO core.basesyntax.Counter:21 After decrementing, Thread # 13, counter value 4
INFO core.basesyntax.Counter:21 After decrementing, Thread # 17, counter value 3
INFO core.basesyntax.Counter:21 After decrementing, Thread # 10, counter value 7
INFO core.basesyntax.Counter:21 After decrementing, Thread # 4, counter value 2
INFO core.basesyntax.Counter:21 After decrementing, Thread # 1, counter value 5
INFO core.basesyntax.Counter:21 After decrementing, Thread # 14, counter value 9
INFO core.basesyntax.Counter:21 After decrementing, Thread # 7, counter value 11
INFO core.basesyntax.Counter:21 After decrementing, Thread # 19, counter value 13
INFO core.basesyntax.Counter:21 After decrementing, Thread # 8, counter value 19
INFO core.basesyntax.Counter:21 After decrementing, Thread # 20, counter value 1
INFO core.basesyntax.Counter:21 After decrementing, Thread # 9, counter value 0
12 changes: 7 additions & 5 deletions src/main/java/core/basesyntax/Counter.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,22 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.concurrent.atomic.AtomicInteger;

public class Counter {
private static final Logger logger = LogManager.getLogger(Counter.class);
private static final String MESSAGE = "%20s, Thread # %2s, counter value %2d";
private int value;
private AtomicInteger value;

public Counter(int value) {
this.value = value;
this.value = new AtomicInteger(value);
}

public void decreaseValue() {
logger.info(String.format(MESSAGE,
"Before decrementing", Thread.currentThread().getName(), value));
value--;
"Before decrementing", Thread.currentThread().getName(), value.get()));
value.decrementAndGet();
logger.info(String.format(MESSAGE,
"After decrementing", Thread.currentThread().getName(), value));
"After decrementing", Thread.currentThread().getName(), value.get()));
}
}
Loading