Doma2 utilise l'interface JDBC Logger pour la sortie du journal et UtilLoggingJdbcLogger
est fourni comme exemple de son implémentation. Puisque ce UtilLoggingJdbcLogger
utilise JUL ( java.util.logging
) pour la sortie du journal, la propriété système java.util.logging.config.file
peut être utilisée pour les paramètres liés à la sortie du journal.
logging.properties
handlers= java.util.logging.ConsoleHandler, java.util.logging.FileHandler
java.util.logging.FileHandler.level = INFO
java.util.logging.FileHandler.pattern = logging_by_propertiesfile.log
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
Par exemple, si vous avez un logging.properties
comme celui ci-dessus et que vous voulez le définir sur UtilLoggingJdbcLogger
, vous pouvez le faire avec -Djava.util.logging.config.file = \ chemin \ vers \ logging.properties
. est.
Vous pouvez également étendre vous-même UtilLoggingJdbcLogger
sans utiliser le fichier de propriétés système.
Tout d'abord, créez une classe qui hérite de «UtilLoggingJdbcLogger». À ce stade, la sortie du journal est définie pour super.logger
(instance JUL).
MyUtilLoggingJdbcLogger.java
public class MyUtilLoggingJdbcLogger extends UtilLoggingJdbcLogger {
public MyUtilLoggingJdbcLogger() {
try {
Formatter formatter = new SimpleFormatter();
Handler consoleHandler = new ConsoleHandler();
consoleHandler.setFormatter(formatter);
consoleHandler.setLevel(Level.INFO);
Handler fileHandler = new FileHandler("logging_by_class.log");
fileHandler.setFormatter(formatter);
fileHandler.setLevel(Level.INFO);
super.logger.addHandler(consoleHandler);
super.logger.addHandler(fileHandler);
} catch (SecurityException | IOException e) {
e.printStackTrace();
}
}
}
Après cela, définissez pour utiliser le MyUtilLoggingJdbcLogger
créé dans la classe Config de Doma2. Plus précisément, il remplace simplement la méthode getJdbcLogger
et renvoie l'instance MyUtilLoggingJdbcLogger
.
AppConfig.java
@SingletonConfig
public class AppConfig implements Config {
private final JdbcLogger logger;
private AppConfig() {
logger = new MyUtilLoggingJdbcLogger();
}
@Override
public JdbcLogger getJdbcLogger() {
return logger;
}
}
Recommended Posts