Maison  >  Article  >  Java  >  Comment écrire la configuration de la connexion à l'aide du code Java

Comment écrire la configuration de la connexion à l'aide du code Java

无忌哥哥
无忌哥哥original
2018-07-19 10:19:581871parcourir

Fournissez aux autres un package jar, qui peut imprimer les journaux directement et collecter les journaux dans un emplacement fixe. Dans la plupart des cas, le fichier logback.xml est utilisé si ce fichier est toujours utilisé, cela peut provoquer des conflits (bien sûr). , autre nom), afin d'éviter d'avoir à charger des fichiers, écrivez la configuration directement en Java, comme suit :

public class SecurityLoggerFactory {

    private static final String logPath = "/export/Logs/securityLog/securityLog.log";
    private static final String logPathHistory = "/export/Logs/securityLog/securityLog.log.%d";
    private static Logger logger = null;

    public static Logger getLogger(){
        return logger;
    }

    /**
     * 构造Logger
     * 设置路径
     * 设置滚动方式
     */
    static {
        LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
        //loggerContext.reset();
        RollingFileAppender<ILoggingEvent> rollingFileAppender = new RollingFileAppender<ILoggingEvent>();
        rollingFileAppender.setContext(loggerContext);
        rollingFileAppender.setAppend(true);
        rollingFileAppender.setName("jdSecurityLogAppender");
        rollingFileAppender.setFile(logPath);

        TimeBasedRollingPolicy rollingPolicy = new TimeBasedRollingPolicy<>();
        rollingPolicy.setFileNamePattern(logPathHistory);
        rollingPolicy.setMaxHistory(10);
        rollingPolicy.setContext(loggerContext);
        rollingPolicy.setParent(rollingFileAppender);
        rollingPolicy.start();
        rollingFileAppender.setRollingPolicy(rollingPolicy);

        PatternLayoutEncoder encoder = new PatternLayoutEncoder();
        encoder.setPattern("%msg%n");
        encoder.setCharset(Charset.forName("UTF-8"));
        encoder.setContext(loggerContext);
        encoder.start();
        rollingFileAppender.setEncoder(encoder);

        rollingFileAppender.start();

        ch.qos.logback.classic.Logger rootLogger = loggerContext.getLogger("securityLogLogger");
        rootLogger.setLevel(Level.INFO);
        rootLogger.addAppender(rollingFileAppender);
        logger = rootLogger;
    }

    public static void main(String[] args) {
        SecurityLoggerFactory.getLogger().info("this is text log.");
    }
}

Le client peut imprimer les logs pertinents en appelant directement SecurityLoggerFactory.getLogger( ).info() . En plus de générer le journal sur la console, le journal sera également généré dans le fichier spécifié.

Remarque :

Le chemin du fichier est le chemin Linux. Si le fichier ne peut pas être généré lorsqu'il est exécuté sous Windows, le chemin Windows doit être utilisé, tel que : c:/securitylog/securitylog. journal

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn