Method 1: You need to configure interception characters
1. Under the <evaluator> subtag, message.contains("response :"), contains the string that needs to be intercepted. If there is xxxx in the current line, it will be intercepted
<!-- Configure the monthly calculator log --> <appender name="JSONOUT" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> <evaluator> <expression>return message.contains("response :");</expression> </evaluator> <OnMatch>NEUTRAL</OnMatch> <OnMismatch>DENY</OnMismatch> </filter> <file>H:/Java/workspace_one/OCR_Server/logs/ocr_server_json_result.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- Daily rollover --> <fileNamePattern>H:/Java/workspace_one/OCR_Server/logs/ocr_server_json_result.log.%d{yyyy-MM-dd}.log </fileNamePattern> <!-- Keep 180 days' worth of history --> <maxHistory>180</maxHistory> </rollingPolicy> <encoder> <pattern> %d{HH:mm:ss.SSS} %-5level [%thread] %logger - %msg%n </pattern> </encoder> </appender>
2. Finally, don't forget to add
<appender-ref ref="JSONOUT" />
3. Do not output some frame information
Write the package path you don't want to output
<logger name="org.springframework" level="info" />
Do not output the info level, only output the debug level:
<!-- Root Logger --> <root> <priority value="debug" /> <appender-ref ref="console" /> <appender-ref ref="file" /> </root>
4. Dependency package:
compile 'org.slf4j:slf4j-api:1.7.12' compile 'org.slf4j:jcl-over-slf4j:1.7.12' compile 'ch.qos.logback:logback-classic:1.1.3' compile 'org.codehaus.janino:janino:3.0.0' compile 'org.codehaus.janino:commons-compiler:3.0.0'
Ref:
http://logback.qos.ch/manual/filters.html
Method 2: Divide files
1.
<appender name="REGULAR_EXP" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>{path}/regular_exp_result.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level-%msg%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- Daily rollover --> <fileNamePattern>{path}/regular_exp_result.%d{yyyy-MM-dd}.log </fileNamePattern> <!-- Keep 180 days' worth of history --> <maxHistory>180</maxHistory> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>50KB</maxFileSize> </triggeringPolicy> </appender>
2.
<logger name="REGULAR_EXP" level="DEBUG"> <appender-ref ref="REGULAR_EXP" /> </logger>
3. Use new logger
private static final Logger regExLogger = LoggerFactory.getLogger("REGULAR_EXP");