Heim >Java >javaLernprogramm >So schreiben Sie eine Logback-Konfiguration mit Java-Code

So schreiben Sie eine Logback-Konfiguration mit Java-Code

无忌哥哥
无忌哥哥Original
2018-07-19 10:19:581902Durchsuche

Stellen Sie anderen ein JAR-Paket zur Verfügung, mit dem Protokolle direkt gedruckt und an einem festen Speicherort gesammelt werden können. In den meisten Fällen wird jetzt die Datei logback.xml verwendet. Wenn diese Datei weiterhin verwendet wird, kann es (natürlich) zu Konflikten kommen , anderer Name), um das Laden von Dateien zu vermeiden, schreiben Sie die Konfiguration wie folgt direkt in Java:

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.");
    }
}

Der Client kann zum Drucken direkt SecurityLoggerFactory.getLogger().info() aufrufen die entsprechenden Protokolle. Zusätzlich zur Ausgabe des Protokolls auf der Konsole wird das Protokoll auch in die angegebene Datei ausgegeben.

Hinweis:

Der Dateipfad ist der Linux-Pfad. Wenn die Datei bei der Ausführung in Windows nicht generiert werden kann, muss der Windows-Pfad verwendet werden, z. B.: c:/securitylog/securitylog. log

Das obige ist der detaillierte Inhalt vonSo schreiben Sie eine Logback-Konfiguration mit Java-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn