Giriş
Şu satırı dahil ederiz.
Root Logger ConsoleHandler aracılığıyla konsola loglar. Açıklaması şöyle.
Örnek
Bu sınıfı kullanırken string birleştirmesinden ve hesaplama yapmaktan kaçınmak için şöyle yapmayız.
Şu satırı dahil ederiz.
import java.util.logging.Logger;
Gerekirse şu satırı dahil ederiz.import java.util.logging.FileHandler;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.SimpleFormatter;
Root LoggerRoot Logger ConsoleHandler aracılığıyla konsola loglar. Açıklaması şöyle.
0)Every logger whatever its name is has the root logger as parent.String Birleştirme Yerine {} Parametresi
1) the logger property useParentHandlers is true by default
2) the root logger has a ConsoleHandler by default
So. A new logger, by default sends its log records also to his parent(point 1) that is the root logger(point 0) which, by default, logs them to console(point 2).
Örnek
Bu sınıfı kullanırken string birleştirmesinden ve hesaplama yapmaktan kaçınmak için şöyle yapmayız.
logger.debug("My text is" + x);
Şöyle yaparız.String param1 = "1";
String param2 = "2";
LOGGER.log(Level.INFO,"Found : {0} {1} as params", new Object[]{param1, param2});
addHandler metoduÖrnek
Şöyle yaparız. FileHandler nesnesi eklenir
private final String filename = "Logs/LogFsForensics.log";
private final String loggerName = "FsLogger";
private final int limit = 1024*10000; //10 MB
private static Logger logger = Logger.getLogger(loggerName);
try {
FileHandler fileHandler = new FileHandler(filename, limit, 1, true);
SimpleFormatter simpleFormatter = new SimpleFormatter();
fileHandler.setFormatter(simpleFormatter);
logger.addHandler(fh);
} catch (SecurityException | IOException e) {
e.printStackTrace();
}
Örnek
Şöyle yaparız.
import java.util.logging.Logger;
import java.util.logging.FileHandler;
import java.util.logging.SimpleFormatter;
private static final int FILE_SIZE = 1024 * 1024 * 100; // 100 MB
private static final int FILE_COUNT = 15;
public static Logger logger = Logger.getLogger(Foo.class);
try {
System.setProperty("java.util.logging.SimpleFormatter.format",
"[%1$tF %1$tT.%1$tL] [%4$-4s] %5$s %n");
FileHandler handler = new FileHandler("my.log", FILE_SIZE, FILE_COUNT, true);
handler.setFormatter(new SimpleFormatter());
logger.addHandler(handler);
logger.setUseParentHandlers(false);
} catch (IOException e) {
logger.warning("Failed to initialize logger handler.");
}
getHandlers metodu
Örnek
Şöyle yaparız.
Örnek
Şöyle yaparız.
public static void setDebugLevel(Level newLvl) {
Logger rootLogger = LogManager.getLogManager().getLogger("");
Handler[] handlers = rootLogger.getHandlers();
rootLogger.setLevel(newLvl);
for (Handler h : handlers) {
if(h instanceof FileHandler)
h.setLevel(newLvl);
}
}
info metodu
İmzası şöyle
public void info(String msg)
public void info(Supplier<String> msgSupplier)
log metodu
İmzası şöyle
public void log(Level level, String msg)
public void log(Level level, Supplier<String> msgSupplier)
public void log(Level level, String msg, Object param1)
public void log(Level level, String msg, Object params[])
public void log(Level level, String msg, Throwable thrown)
public void log(Level level, Throwable thrown, Supplier<String> msgSupplier)
public void log(LogRecord record)
log metodu - Level + String + Throwable
exception loglama için kullanılır. debug(),info(),warning() gibi metodlardan farklı olarak loglama seviyesi parametre olarak geçilebilir.
Örnek
Şöyle yaparız
try {
...something that can throw an ignorable exception
} catch( Exception ex ) {
LOGGER.log(Level.SEVERE, ex.toString(), ex);
}
log metodu - LogRecord
Örnek
Şöyle yaparız
import java.util.logging.LogRecord;
Logger logger = Logger.getLogger("...");
public void log(Level level, String message, Throwable thrown) {
LogRecord logRecord = new LogRecord(level, message);
logRecord.setLoggerName(logger.getName());
logRecord.setThrown(thrown);
logRecord.setSourceClassName(logger.getName());
logger.log(logRecord);
}
removeHandler metodu
Örnek
Şöyle yaparızLogger rootLogger = Logger.getLogger("");
rootLogger.removeHandler(
rootLogger.getHandlers()[0]);
Örnek
Şöyle yaparız
// 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);
Örnek
Şöyle yaparız.
setUseParentHandlers metodu
Şöyle yaparız.
Logger.getLogger("").setLevel(Level.FINEST); // Root logger, for example.
Örnek
Şöyle yaparız
public class MyLogger {
private static final Logger hazelCastLogger = Logger.getLogger("com.hazelcast");
static {
Level level = Level.WARNING;
hazelCastLogger.setLevel(level);
}
}
Şöyle yaparız.
logger.setUseParentHandlers(false);
Hiç yorum yok:
Yorum Gönder