方法一:需要配置拦截字符
1.在 <evaluator>子标签下, message.contains("response :"),contains里面就是配置需要拦截的字符串。如果当行里面有xxxx,就拦截下来
<!-- 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.最后还不要忘记添加
<appender-ref ref="JSONOUT" />
3.不输出一些框架信息
把不想输出的包路径写进去
<logger name="org.springframework" level="info" />
不输出info级别,只输出debug级别的:
<!-- Root Logger --> <root> <priority value="debug" /> <appender-ref ref="console" /> <appender-ref ref="file" /> </root>
4.依赖包:
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
方法二:分文件
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.new logger 使用
private static final Logger regExLogger = LoggerFactory.getLogger("REGULAR_EXP");