logback
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false" scan="true" scanPeriod="1 seconds"> <contextName>logback</contextName> <!-- <property name="log.path" value="${catalina.base}/logs/logback.log" /> --> <property name="log.path" value="${user.dir}/logs/logback.log" /> <appender name="ConsoleAppender" class="ch.qos.logback.core.ConsoleAppender"> <!-- https://logback.qos.ch/manual/filters.html --> <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> <evaluator name="myEval"> <expression>return message.contains("==>");</expression> </evaluator> <OnMatch>ACCEPT</OnMatch> <OnMismatch>DENY</OnMismatch> </filter> <!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>debug</level> </filter> --> <encoder> <!-- https://logback.qos.ch/manual/layouts.html <pattern>%contextName,[%thread] %logger, %msg,%class,%file : %line, %method, %marker,%caller{1} %n</pattern> --> <pattern>%d{HH:mm:ss.SSS} [%level] %msg [%logger] %n </pattern> </encoder> </appender> <appender name="ConsoleAppender2" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>error</level> </filter> <encoder> <!-- https://logback.qos.ch/manual/layouts.html <pattern>%contextName,[%thread] %logger, %msg, %method, %marker,%caller{1} %n</pattern> --> <pattern>%d{HH:mm:ss.SSS} [%level] %msg [%logger] %n </pattern> </encoder> </appender> <appender name="RollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>error</level> </filter> <file>${log.path}</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>log_%d{yyyy-MM-dd}.zip</fileNamePattern> </rollingPolicy> <encoder> <pattern>%date [%level] %msg [%logger] %n</pattern> </encoder> </appender> <root level="debug"> <appender-ref ref="ConsoleAppender" /> <appender-ref ref="ConsoleAppender2" /> <appender-ref ref="RollingFileAppender" /> </root> <!-- <logger name="java.sql.Connection" level="DEBUG"/> <logger name="java.sql.Statement" level="DEBUG"/> <logger name="java.sql.PreparedStatement" level="DEBUG"/> <logger name="com.apache.ibatis" level="DEBUG"/> <logger name="com.mybatis" level="DEBUG"/> --> </configuration>
依赖
<!-- https://mvnrepository.com/artifact/org.codehaus.janino/janino --> <dependency> <groupId>org.codehaus.janino</groupId> <artifactId>janino</artifactId> <version>3.0.6</version> </dependency>