[JAVA] Je souhaite modifier le paramètre de sortie du journal de UtilLoggingJdbcLogger

1. Utilisez java.util.logging.config.file

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.

2. Utilisez java.util.logging.config.file

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;
    }
}

Informations environnementales

Recommended Posts

Je souhaite modifier le paramètre de sortie du journal de UtilLoggingJdbcLogger
Je souhaite simplifier la sortie du journal sur Android
Je veux changer la valeur de l'attribut dans Selenium of Ruby
Je veux var_dump le contenu de l'intention
Je veux connaître la réponse de l'application Janken
Je souhaite afficher le nom de l'affiche du commentaire
Je veux retourner la position de défilement de UITableView!
[Rails] [bootstrap] Je souhaite modifier la taille de la police de manière réactive
(´-`) .. oO (Je veux trouver facilement la sortie standard" Hello ".
[Ruby] Je souhaite inverser l'ordre de la table de hachage
Je souhaite changer la couleur du menu de contrôle en haut de Liferay 7 / DXP
Je veux comprendre le flux des paramètres de demande de traitement Spring
L'histoire de Collectors.groupingBy que je veux garder pour la postérité
Je veux limiter l'entrée en réduisant la plage de nombres
Je veux contrôler le message d'erreur par défaut de Spring Boot
J'ai créé un outil pour afficher la différence du fichier CSV
Sortie de l'en-tête HTTP de google-http-client à journaliser
Sortie du livre "Introduction à Java"
[Ruby] Je souhaite afficher uniquement le caractère impair dans la chaîne de caractères
[Ruby] Je souhaite extraire uniquement la valeur du hachage et uniquement la clé
Je veux passer l'argument d'Annotation et l'argument de la méthode d'appel à aspect
Je veux obtenir le nom de champ du champ [Java]. (Vieux ton d'histoire)
Je veux que vous utilisiez Enum # name () pour la clé de SharedPreference
[Apache Camel] Sortie facile du débit dans un journal
Changer le fuseau horaire du conteneur https-portal en JST
Sortie de la façon d'utiliser la méthode slice
Je veux tronquer après la virgule décimale
Je veux obtenir la valeur en Ruby
Je veux obtenir la valeur de Cell de manière transparente quel que soit CellType (Apache POI)
Je veux voir le contenu de Request sans dire quatre ou cinq
Je veux obtenir récursivement la superclasse et l'interface d'une certaine classe
Format de la sortie du journal par Tomcat lui-même dans Tomcat 8
Je veux appeler une méthode d'une autre classe
[Java] Je souhaite calculer la différence par rapport à la date
J'étais accro au record du modèle associé
Convertit le tableau d'erreurs.full_messages en caractères et sortie
Je veux juger la gamme en utilisant le diplôme mensuel
J'ai essayé de réduire la capacité de Spring Boot
Je souhaite utiliser le mode sombre avec l'application SWT
[Rails] Comment changer le nom de colonne de la table
Je veux appeler la méthode principale en utilisant la réflexion
[Commentaire approximatif] Je veux épouser la méthode du pluck
Je souhaite ajouter une fonction de suppression à la fonction de commentaire
Je veux afficher quel caractère une chaîne de caractères arbitraire apparaît à partir de la gauche
[rails] Option After utile lorsque vous souhaitez modifier l'ordre des colonnes DB
Je souhaite modifier le chemin après une nouvelle inscription après m'être connecté avec plusieurs appareils.
Je souhaite analyser morphologiquement le journal stocké dans la base de données et le stocker dans la base de données pour classer les messages 1
[Active Admin] Je souhaite spécifier l'étendue de la collection à afficher dans select_box