로그를 직접 인쇄하고 고정된 위치에 로그를 수집할 수 있는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!