Commit 3f3bbde4 authored by Java-刘 彧阳's avatar Java-刘 彧阳

测试日志脱敏

parent 72b1dba2
package cn.quantgroup.xyqb.util.log;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.classic.spi.IThrowableProxy;
import ch.qos.logback.classic.spi.LoggerContextVO;
import java.util.Map;
import org.slf4j.Marker;
/**
* Created by ocean on 2017/5/4.
*/
public class WithOutPhoneLoggingEvent implements ILoggingEvent {
private ILoggingEvent event;
transient String withOutPhoneFormattedMessage;
public WithOutPhoneLoggingEvent(ILoggingEvent event){
this.event = event;
}
@Override public String getThreadName() {
return this.event.getThreadName();
}
@Override public Level getLevel() {
return this.event.getLevel();
}
@Override public String getMessage() {
return this.event.getMessage();
}
@Override public Object[] getArgumentArray() {
return this.event.getArgumentArray();
}
@Override public String getFormattedMessage() {
if (withOutPhoneFormattedMessage != null) {
return withOutPhoneFormattedMessage;
}
//todo 用正则找到手机号,并打上掩码,替换进去
withOutPhoneFormattedMessage = event.getFormattedMessage().concat("##test##");
return withOutPhoneFormattedMessage;
}
@Override public String getLoggerName() {
return this.event.getLoggerName();
}
@Override public LoggerContextVO getLoggerContextVO() {
return this.event.getLoggerContextVO();
}
@Override public IThrowableProxy getThrowableProxy() {
return this.event.getThrowableProxy();
}
@Override public StackTraceElement[] getCallerData() {
return this.event.getCallerData();
}
@Override public boolean hasCallerData() {
return this.event.hasCallerData();
}
@Override public Marker getMarker() {
return this.event.getMarker();
}
@Override public Map<String, String> getMDCPropertyMap() {
return this.event.getMDCPropertyMap();
}
@Override public Map<String, String> getMdc() {
return this.event.getMdc();
}
@Override public long getTimeStamp() {
return this.event.getTimeStamp();
}
@Override public void prepareForDeferredProcessing() {
this.getFormattedMessage();
this.getThreadName();
// fixes http://jira.qos.ch/browse/LBCLASSIC-104
this.getMDCPropertyMap();
}
}
package cn.quantgroup.xyqb.util.log;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.rolling.RollingFileAppender;
/**
* Created by ocean on 2017/5/4.
*/
public class WithOutPhoneRollingFileAppender<E> extends RollingFileAppender<E> {
@Override
public void doAppend(E eventObject) {
if(eventObject instanceof ILoggingEvent){
eventObject = (E)new WithOutPhoneLoggingEvent((ILoggingEvent)eventObject);
}
super.doAppend(eventObject);
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<appender name="STDOUT" class="cn.quantgroup.xyqb.util.log.WithOutPhoneRollingFileAppender">
<file>/home/quant_group/logs/xyqb_user.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/home/quant_group/logs/xyqb_user.log.%d{yyyy-MM-dd}</fileNamePattern>
<append>true</append>
<maxHistory>30</maxHistory>
</rollingPolicy>
<!--
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-->
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{ISO8601} [%-5level] %logger{36} - %msg%n</pattern>
</layout>
......
......@@ -4,6 +4,8 @@ import cn.quantgroup.xyqb.Bootstrap;
import cn.quantgroup.xyqb.controller.internal.user.UserController;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.mock.web.MockHttpServletRequest;
......@@ -18,11 +20,20 @@ import org.springframework.test.context.web.WebAppConfiguration;
@WebAppConfiguration
public class TestUserLogin {
private static final Logger LOGGER = LoggerFactory.getLogger(TestUserLogin.class);
private MockHttpServletRequest request;
@Autowired
private UserController userController;
@Test
public void testLogAppender(){
LOGGER.info("test customer logger appender:[{}]",74646);
System.out.println("%%%%%%");
}
@Test
public void testUserLogin(){
//访问xyqb-user拿到登录token
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment