@Test
void testLog() throws InterruptedException {
Logger logger = createLogger();
logger.info("hello world");
}
private static Logger createLogger() {
String LOG_STORE_DIR = "C:\Users\85129\Desktop\log\";
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
encoder.setContext(context);
// 日志记录格式
encoder.setPattern("%msg%n");
encoder.setCharset(StandardCharsets.UTF_8);
encoder.start();
TimeBasedRollingPolicy<ILoggingEvent> rollingPolicy = new TimeBasedRollingPolicy<>();
rollingPolicy.setContext(context);
// 日志文件的名称
// 实现按天滚动,每天的00:00将会创建一个新的日志文件去记录
rollingPolicy.setFileNamePattern(LOG_STORE_DIR + "systemLog" + "-%d{yyyyMMdd}" + ".log");
// 日志保留天数,0 代表不删除日志,否则每天凌晨00:00会把指定天数的日志文件给删除
rollingPolicy.setMaxHistory(0);
RollingFileAppender<ILoggingEvent> appender = new RollingFileAppender<>();
appender.setContext(context);
appender.setEncoder(encoder);
appender.setRollingPolicy(rollingPolicy);
rollingPolicy.setParent(appender);
rollingPolicy.start();
appender.start();
Logger logger = (Logger) LoggerFactory.getLogger("test");
logger.setLevel(Level.INFO);
logger.setAdditive(false);
logger.addAppender(appender);
return logger;
}