>  기사  >  Java  >  Java 코드를 사용하여 로그백 구성을 작성하는 방법

Java 코드를 사용하여 로그백 구성을 작성하는 방법

无忌哥哥
无忌哥哥원래의
2018-07-19 10:19:581833검색

로그를 직접 인쇄하고 고정된 위치에 로그를 수집할 수 있는 jar 패키지를 다른 사람에게 제공하세요. 현재 대부분의 경우 이 파일을 계속 사용하면 충돌이 발생할 수 있습니다. 사용), 파일 로드를 피하기 위해 다음과 같이 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.");
    }
}

클라이언트는 SecurityLoggerFactory.getLogger().info()를 직접 호출하여 해당 로그를 인쇄할 수 있습니다. 콘솔에 로그를 출력하는 것 외에도 지정된 파일에도 로그가 출력됩니다.

참고:

파일 경로는 Linux 경로입니다. Windows에서 실행할 때 파일을 생성할 수 없는 경우 c:/securitylog/securitylog.log

와 같은 Windows 경로를 사용해야 합니다.

위 내용은 Java 코드를 사용하여 로그백 구성을 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.