Custom lockback interception configuration

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");

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326992915&siteId=291194637