| 229 | } |
| 230 | |
| 231 | private static void initializeLogging() throws IOException { |
| 232 | Path logDirectory = Editor.getLogDirectory(); |
| 233 | ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); |
| 234 | SLF4JBridgeHandler.removeHandlersForRootLogger(); |
| 235 | SLF4JBridgeHandler.install(); |
| 236 | |
| 237 | RollingFileAppender<ILoggingEvent> appender = new RollingFileAppender<>(); |
| 238 | appender.setName("FILE"); |
| 239 | appender.setAppend(true); |
| 240 | appender.setPrudent(true); |
| 241 | appender.setContext(root.getLoggerContext()); |
| 242 | |
| 243 | TimeBasedRollingPolicy<Object> rollingPolicy = new TimeBasedRollingPolicy<>(); |
| 244 | rollingPolicy.setMaxHistory(30); |
| 245 | rollingPolicy.setFileNamePattern(logDirectory.resolve("editor2.%d{yyyy-MM-dd}.log").toString()); |
| 246 | rollingPolicy.setTotalSizeCap(FileSize.valueOf("1GB")); |
| 247 | rollingPolicy.setContext(root.getLoggerContext()); |
| 248 | rollingPolicy.setParent(appender); |
| 249 | appender.setRollingPolicy(rollingPolicy); |
| 250 | rollingPolicy.start(); |
| 251 | |
| 252 | PatternLayoutEncoder encoder = new PatternLayoutEncoder(); |
| 253 | encoder.setPattern("%d{yyyy-MM-dd HH:mm:ss.SSS} %-4relative [%thread] %-5level %logger{35} - %msg%n"); |
| 254 | encoder.setContext(root.getLoggerContext()); |
| 255 | encoder.start(); |
| 256 | |
| 257 | appender.setEncoder(encoder); |
| 258 | appender.start(); |
| 259 | |
| 260 | root.addAppender(appender); |
| 261 | } |
| 262 | |
| 263 | } |