You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Discovered because a windows user had a home folder ala "c:/users/Michael(Financ" likely due to a truncated user name. This is an issue for all log file paths that are not valid regex patterns.
Issue seen on logback version 1.5.9.
Stack trace:
Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed group near index 38
log.orphan(paren.\d{4}-\d{2}-\d{2}.log
at java.base/java.util.regex.Pattern.error(Pattern.java:2204)
at java.base/java.util.regex.Pattern.accept(Pattern.java:2054)
at java.base/java.util.regex.Pattern.group0(Pattern.java:3232)
at java.base/java.util.regex.Pattern.sequence(Pattern.java:2300)
at java.base/java.util.regex.Pattern.expr(Pattern.java:2245)
at java.base/java.util.regex.Pattern.compile(Pattern.java:1945)
at java.base/java.util.regex.Pattern.<init>(Pattern.java:1576)
at java.base/java.util.regex.Pattern.compile(Pattern.java:1101)
at java.base/java.util.regex.Pattern.matches(Pattern.java:1220)
at java.base/java.lang.String.matches(String.java:2965)
at ch.qos.logback.core.rolling.RollingFileAppender.checkForFileAndPatternCollisions(RollingFileAppender.java:113)
at ch.qos.logback.core.rolling.RollingFileAppender.start(RollingFileAppender.java:84)
at LogbackInvalidRegexPathCheck.main(LogbackInvalidRegexPathCheck.java:23)
Code example:
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.Logger;
import ch.qos.logback.core.rolling.RollingFileAppender;
import ch.qos.logback.core.rolling.TimeBasedRollingPolicy;
public class LogbackInvalidRegexPathCheck {
public static void main(String[] args) throws Exception {
Logger logger = (Logger) LoggerFactory.getLogger("invalid-regex");
RollingFileAppender<Object> rollingFileAppender = new RollingFileAppender<>();
rollingFileAppender.setFile("log.log");
TimeBasedRollingPolicy<Object> rollingPolicy = new TimeBasedRollingPolicy<>();
rollingPolicy.setFileNamePattern("log.orphan(paren.%d{yyyy-MM-dd}.log");
rollingPolicy.setParent(rollingFileAppender);
rollingPolicy.setContext(logger.getLoggerContext());
rollingPolicy.start();
rollingFileAppender.setRollingPolicy(rollingPolicy);
rollingFileAppender.setTriggeringPolicy(rollingPolicy);
rollingFileAppender.setContext(logger.getLoggerContext());
rollingFileAppender.start();
}
}
Discovered because a windows user had a home folder ala "c:/users/Michael(Financ" likely due to a truncated user name. This is an issue for all log file paths that are not valid regex patterns.
Issue seen on logback version 1.5.9.
Stack trace:
Code example:
logback.xml example:
The text was updated successfully, but these errors were encountered: