Я установил log4j2 и настроил файл свойств, но не могу получить отладочную информацию log4j2 на консоль. Я подозреваю, что моя конфигурация неверна.
Вот мой исходный код:
package com.smt.trimble.poc;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class NMEAReader {
private static final String hostName = "192.168.0.2";
private static final int portNumber = 5017;
private static Socket nmeaSocket;
private static final Logger logger = LogManager.getLogger(NMEAReader.class);
public static void main(String[] args) {
try {
nmeaSocket = new Socket(hostName, portNumber);
logger.debug("Creating socket");
PrintWriter out = new PrintWriter(nmeaSocket.getOutputStream(), true);
BufferedReader in =
new BufferedReader(new InputStreamReader(nmeaSocket.getInputStream()));
String userInput;
while (true) {
logger.debug("Reading Data");
userInput = in.readLine();
out.println(userInput);
System.out.println("echo: " + in.readLine());
}
} catch (Exception e){
System.out.println("An error occured, " + e.getMessage());
}
}
}
А вот мой файл конфигурации log4j2:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="Debug">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
Log4J2 работает, так как я могу видеть вывод, когда я установил logger.debug
в logger.error
.
Я, наверное, упускаю что-то тривиальное.
редактирование:
Я обновил файл свойств до
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-level %logger{36} - %msg%n"/>
<Filters>
<ThresholdFilter level="debug"/>
</Filters>
</Console>
</Appenders>
<Loggers>
<Root level="Debug">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
Изменение уровня конфигурации для трассировки также не привело к дальнейшему выводу. Тем не менее, когда я изменяю logger.debug
на logger.error
, я вижу вывод log4j2:
![enter image description here](https://i.stack.imgur.com/yp3yJ.png)
Но ничего, когда я установил logger.debug:
![enter image description here](https://i.stack.imgur.com/9X3TF.png)