Add logging using Log4j2
This commit is contained in:
@@ -34,6 +34,12 @@
|
|||||||
<version>42.7.4</version>
|
<version>42.7.4</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.hibernate.orm</groupId>
|
||||||
|
<artifactId>hibernate-c3p0</artifactId>
|
||||||
|
<version>6.6.3.Final</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
<artifactId>log4j-api</artifactId>
|
<artifactId>log4j-api</artifactId>
|
||||||
|
|||||||
@@ -1,13 +1,17 @@
|
|||||||
package io.github.lumijiez;
|
package io.github.lumijiez;
|
||||||
|
|
||||||
import jakarta.persistence.EntityManager;
|
import jakarta.persistence.EntityManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
|
public static Logger logger = LogManager.getLogger(Main.class);
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.out.println("Node up");
|
logger.info("Node up.");
|
||||||
EntityManager em = Data.getEntityManager();
|
EntityManager em = Data.getEntityManager();
|
||||||
|
|
||||||
System.out.println("Connected to DB << symphony >>");
|
logger.info("Connected to database: << symphony >>");
|
||||||
em.close();
|
em.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -17,8 +17,6 @@
|
|||||||
<property name="jakarta.persistence.jdbc.user" value="symphony" />
|
<property name="jakarta.persistence.jdbc.user" value="symphony" />
|
||||||
<property name="jakarta.persistence.jdbc.password" value="symphony" />
|
<property name="jakarta.persistence.jdbc.password" value="symphony" />
|
||||||
|
|
||||||
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
|
|
||||||
|
|
||||||
<property name="hibernate.c3p0.min_size" value="5"/>
|
<property name="hibernate.c3p0.min_size" value="5"/>
|
||||||
<property name="hibernate.c3p0.max_size" value="20"/>
|
<property name="hibernate.c3p0.max_size" value="20"/>
|
||||||
<property name="hibernate.c3p0.timeout" value="300"/>
|
<property name="hibernate.c3p0.timeout" value="300"/>
|
||||||
|
|||||||
20
SymphonyDatabaseNode/src/main/resources/log4j2.xml
Normal file
20
SymphonyDatabaseNode/src/main/resources/log4j2.xml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Configuration status="WARN">
|
||||||
|
<Appenders>
|
||||||
|
<Console name="Console" target="SYSTEM_OUT">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level: %msg%n</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
</Console>
|
||||||
|
</Appenders>
|
||||||
|
|
||||||
|
<Loggers>
|
||||||
|
<Logger name="org.hibernate" level="off" additivity="false"/>
|
||||||
|
<Logger name="com.mchange" level="off" additivity="false"/>
|
||||||
|
<Logger name="com.mchange.v2" level="off" additivity="false"/>
|
||||||
|
|
||||||
|
<Root level="info">
|
||||||
|
<AppenderRef ref="Console"/>
|
||||||
|
</Root>
|
||||||
|
</Loggers>
|
||||||
|
</Configuration>
|
||||||
@@ -15,6 +15,17 @@
|
|||||||
<artifactId>gson</artifactId>
|
<artifactId>gson</artifactId>
|
||||||
<version>2.11.0</version>
|
<version>2.11.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-api</artifactId>
|
||||||
|
<version>2.24.2</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-core</artifactId>
|
||||||
|
<version>2.24.2</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
16
SymphonyDiscovery/src/main/resources/log4j2.xml
Normal file
16
SymphonyDiscovery/src/main/resources/log4j2.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Configuration status="WARN">
|
||||||
|
<Appenders>
|
||||||
|
<Console name="Console" target="SYSTEM_OUT">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level: %msg%n</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
</Console>
|
||||||
|
</Appenders>
|
||||||
|
|
||||||
|
<Loggers>
|
||||||
|
<Root level="info">
|
||||||
|
<AppenderRef ref="Console"/>
|
||||||
|
</Root>
|
||||||
|
</Loggers>
|
||||||
|
</Configuration>
|
||||||
@@ -45,6 +45,17 @@
|
|||||||
<artifactId>slf4j-simple</artifactId>
|
<artifactId>slf4j-simple</artifactId>
|
||||||
<version>1.7.32</version>
|
<version>1.7.32</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-api</artifactId>
|
||||||
|
<version>2.24.2</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-core</artifactId>
|
||||||
|
<version>2.24.2</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ import com.rabbitmq.client.Channel;
|
|||||||
import com.rabbitmq.client.Connection;
|
import com.rabbitmq.client.Connection;
|
||||||
import com.rabbitmq.client.ConnectionFactory;
|
import com.rabbitmq.client.ConnectionFactory;
|
||||||
import com.rabbitmq.client.DeliverCallback;
|
import com.rabbitmq.client.DeliverCallback;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
@@ -17,6 +18,7 @@ public class BrokerConnector {
|
|||||||
private static final String RABBITMQ_USER = "symphony";
|
private static final String RABBITMQ_USER = "symphony";
|
||||||
private static final String RABBITMQ_PASSWORD = "symphony";
|
private static final String RABBITMQ_PASSWORD = "symphony";
|
||||||
private static final CountDownLatch shutdownLatch = new CountDownLatch(1);
|
private static final CountDownLatch shutdownLatch = new CountDownLatch(1);
|
||||||
|
private static final Logger logger = LogManager.getLogger(BrokerConnector.class);
|
||||||
|
|
||||||
public static void connect() {
|
public static void connect() {
|
||||||
try (ScheduledExecutorService reconnectExecutor = Executors.newSingleThreadScheduledExecutor()) {
|
try (ScheduledExecutorService reconnectExecutor = Executors.newSingleThreadScheduledExecutor()) {
|
||||||
@@ -24,14 +26,14 @@ public class BrokerConnector {
|
|||||||
try {
|
try {
|
||||||
connectToRabbitMQ();
|
connectToRabbitMQ();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.err.println("Awaiting broker connection: " + e.getMessage());
|
logger.error("Awaiting broker connection: {}", e.getMessage());
|
||||||
}
|
}
|
||||||
}, 0, 5, TimeUnit.SECONDS);
|
}, 0, 5, TimeUnit.SECONDS);
|
||||||
|
|
||||||
shutdownLatch.await();
|
shutdownLatch.await();
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
Thread.currentThread().interrupt();
|
Thread.currentThread().interrupt();
|
||||||
System.err.println("Connector interrupted: " + e.getMessage());
|
logger.error("Connector interrupted: {}", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,7 +47,7 @@ public class BrokerConnector {
|
|||||||
Channel channel = connection.createChannel()) {
|
Channel channel = connection.createChannel()) {
|
||||||
|
|
||||||
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
|
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
|
||||||
System.out.println("Connected to RabbitMQ and queue declared.");
|
logger.info("Connected to RabbitMQ and queue declared.");
|
||||||
|
|
||||||
DeliverCallback deliverCallback = (consumerTag, delivery) -> {
|
DeliverCallback deliverCallback = (consumerTag, delivery) -> {
|
||||||
channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
|
channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
|
||||||
|
|||||||
16
SymphonyManager/src/main/resources/log4j2.xml
Normal file
16
SymphonyManager/src/main/resources/log4j2.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Configuration status="WARN">
|
||||||
|
<Appenders>
|
||||||
|
<Console name="Console" target="SYSTEM_OUT">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level: %msg%n</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
</Console>
|
||||||
|
</Appenders>
|
||||||
|
|
||||||
|
<Loggers>
|
||||||
|
<Root level="info">
|
||||||
|
<AppenderRef ref="Console"/>
|
||||||
|
</Root>
|
||||||
|
</Loggers>
|
||||||
|
</Configuration>
|
||||||
@@ -45,6 +45,17 @@
|
|||||||
<artifactId>slf4j-simple</artifactId>
|
<artifactId>slf4j-simple</artifactId>
|
||||||
<version>1.7.32</version>
|
<version>1.7.32</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-api</artifactId>
|
||||||
|
<version>2.24.2</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-core</artifactId>
|
||||||
|
<version>2.24.2</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -13,23 +13,26 @@ import java.util.concurrent.CountDownLatch;
|
|||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
public class BrokerConnector {
|
public class BrokerConnector {
|
||||||
private static final String QUEUE_NAME = "random_json_queue";
|
private static final String QUEUE_NAME = "random_json_queue";
|
||||||
private static final String RABBITMQ_HOST = "rabbitmq";
|
private static final String RABBITMQ_HOST = "rabbitmq";
|
||||||
private static final String RABBITMQ_USER = "symphony";
|
private static final String RABBITMQ_USER = "symphony";
|
||||||
private static final String RABBITMQ_PASSWORD = "symphony";
|
private static final String RABBITMQ_PASSWORD = "symphony";
|
||||||
|
private static final Logger logger = LogManager.getLogger(BrokerConnector.class);
|
||||||
|
|
||||||
public static void connect() {
|
public static void connect() {
|
||||||
CountDownLatch latch = new CountDownLatch(1);
|
CountDownLatch latch = new CountDownLatch(1);
|
||||||
|
|
||||||
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
|
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
|
||||||
System.out.println("Shutdown signal received.");
|
logger.info("Shutdown signal received.");
|
||||||
latch.countDown();
|
latch.countDown();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
boolean success = connectToRabbitMQ(latch);
|
boolean success = connectToRabbitMQ(latch);
|
||||||
System.out.println("Success: " + success);
|
logger.info("Success: {}", success);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean connectToRabbitMQ(CountDownLatch latch) {
|
private static boolean connectToRabbitMQ(CountDownLatch latch) {
|
||||||
@@ -43,7 +46,7 @@ public class BrokerConnector {
|
|||||||
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor()) {
|
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor()) {
|
||||||
|
|
||||||
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
|
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
|
||||||
System.out.println("Connected to RabbitMQ and queue declared.");
|
logger.info("Connected to RabbitMQ and queue declared.");
|
||||||
|
|
||||||
scheduler.scheduleAtFixedRate(() -> {
|
scheduler.scheduleAtFixedRate(() -> {
|
||||||
try {
|
try {
|
||||||
@@ -51,7 +54,7 @@ public class BrokerConnector {
|
|||||||
channel.basicPublish("", QUEUE_NAME, null, jsonMessage.getBytes(StandardCharsets.UTF_8));
|
channel.basicPublish("", QUEUE_NAME, null, jsonMessage.getBytes(StandardCharsets.UTF_8));
|
||||||
// System.out.println("Sent: " + jsonMessage);
|
// System.out.println("Sent: " + jsonMessage);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
System.err.println("Failed to send message: " + e.getMessage());
|
logger.error("Failed to send message: {}", e.getMessage());
|
||||||
}
|
}
|
||||||
}, 0, 1, TimeUnit.SECONDS);
|
}, 0, 1, TimeUnit.SECONDS);
|
||||||
|
|
||||||
@@ -60,7 +63,7 @@ public class BrokerConnector {
|
|||||||
|
|
||||||
return scheduler.awaitTermination(5, TimeUnit.SECONDS);
|
return scheduler.awaitTermination(5, TimeUnit.SECONDS);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.err.println("Awaiting broker connection: " + e.getMessage());
|
logger.info("Awaiting broker connection: {}", e.getMessage());
|
||||||
try {
|
try {
|
||||||
Thread.sleep(5000);
|
Thread.sleep(5000);
|
||||||
connectToRabbitMQ(latch);
|
connectToRabbitMQ(latch);
|
||||||
|
|||||||
16
SymphonyProducer/src/main/resources/log4j2.xml
Normal file
16
SymphonyProducer/src/main/resources/log4j2.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Configuration status="WARN">
|
||||||
|
<Appenders>
|
||||||
|
<Console name="Console" target="SYSTEM_OUT">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level: %msg%n</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
</Console>
|
||||||
|
</Appenders>
|
||||||
|
|
||||||
|
<Loggers>
|
||||||
|
<Root level="info">
|
||||||
|
<AppenderRef ref="Console"/>
|
||||||
|
</Root>
|
||||||
|
</Loggers>
|
||||||
|
</Configuration>
|
||||||
@@ -46,6 +46,7 @@ services:
|
|||||||
- symphony-network
|
- symphony-network
|
||||||
depends_on:
|
depends_on:
|
||||||
- postgres_db
|
- postgres_db
|
||||||
|
- symphony-discovery
|
||||||
|
|
||||||
symphony-dbnode2:
|
symphony-dbnode2:
|
||||||
container_name: dbnode2
|
container_name: dbnode2
|
||||||
@@ -58,6 +59,7 @@ services:
|
|||||||
- symphony-network
|
- symphony-network
|
||||||
depends_on:
|
depends_on:
|
||||||
- postgres_db
|
- postgres_db
|
||||||
|
- symphony-discovery
|
||||||
|
|
||||||
postgres_db:
|
postgres_db:
|
||||||
image: postgres:latest
|
image: postgres:latest
|
||||||
|
|||||||
Reference in New Issue
Block a user