Giriş
Şu satırı dahil ederiz.
Şu satırı dahil ederiz.
import java.util.logging.ConsoleHandler;
Açıklaması şöyle. Yani ConsoleHandler bazı logları System.err akımına gönderir. CONFIG, FINE, FINER, FINEST gibi seviyeleri loglamaz.ÖrnekBy default, the logger outputs log records of level INFO and above (i.e., INFO, WARNING and SEVERE) to standard error stream (System.err).
Konsolda çıktı görmek için şöyle yaparız.
import java.util.logging.Logger
public class Example {
private final static Logger LOGGER = Logger.getLogger(Example.class.getName());
public static void main(String[] args) {
LOGGER.info("Test");
}
}
ÖrnekŞöyle yaparız. Burada setUseParentHandlers(false) yapılıyor yoksa,iki tane ConsolHandler olduğu için mesajları çift görürüz.
import java.util.logging.*;
public class ExampleLogger {
private static final Logger LOGGER = Logger.getLogger(ExampleLogger.class.getName());
public static void main(String[] args) {
// create a new console handler
ConsoleHandler consoleHandler = new ConsoleHandler();
// set the handler's log level to FINEST
consoleHandler.setLevel(Level.FINEST);
// add the handler to the logger
LOGGER.addHandler(consoleHandler);
LOGGER.setUseParentHandlers(false);
LOGGER.info("Starting application...");
try {
int result = 10 / 0;
} catch (ArithmeticException e) {
LOGGER.log(Level.SEVERE, "An error occurred", e);
}
LOGGER.info("Application finished.");
}
}
Açıklaması şöyleBy default, ConsoleHandler logs messages with a severity level of Level.INFO and higher to the console. However, by setting the log level to Level.FINEST, we can see all log messages, including those with lower severity levels.
Bir diğer yolu da şöyle
// Option 1: Remove the default ConsoleHandler :
Logger rootLogger = Logger.getLogger("");
Handler[] handlers = rootLogger.getHandlers();
for (Handler handler : handlers) {
if (handler instanceof ConsoleHandler) {
rootLogger.removeHandler(handler);
}
}
// Option 2: call LOGGER.setUseParentHandlers(false);
LOGGER.setUseParentHandlers(false);
Hiç yorum yok:
Yorum Gönder