规范一

第一步:
在过滤器中把用户信息放到MDC中,

@Component
@WebFilter(filterName=\"testFilter\",urlPatterns=\"/**\")
public class TestFilter implements Filter{

	@Override
	public void init(FilterConfig filterConfig) throws ServletException {
		
	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		MDC.put(\"user\", \"张三\");
		chain.doFilter(request, response);
		MDC.remove(\"user\");
	}

	@Override
	public void destroy() {
		
	}

}

第二步:
在写日志文件时
加上%X{user},user对应MDC的key值

<appender name=\"console\" class=\"ch.qos.logback.core.ConsoleAppender\">
        <encoder>
            <!--<pattern>%d %p (%file:%line\\)- %m%n</pattern>-->
            <!--格式化输出:%d:表示日期    %thread:表示线程名     %-5level:级别从左显示5个字符宽度  %msg:日志消息    %n:是换行符-->
            <pattern>控制台-%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level:  %X{user}  %logger - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

规范二

在删除、修改的时候必须打印日志

@Override
	public int deleteSysUserById(String id) {
		logger.info(\"根据用户id:{} 删除用户信息\", id);
		// 删除操作
		int count = 2;
		logger.info(\"删除用户信息  success,id:{}, result:{}\", id, count > 0 ? true : false);
		return count;
	}

规范三

分支条件必须打印日志

@Override
	public int count(int status) {
		logger.info(\"当前状态status:{}\",status);
		if(0 == status) {
			// 操作查询用户
		} else {
			// 操作删除
		}
		return 0;
	}

规则四

数据量大必须打印数据量

规则五

错误日志必须

try {
******
}catch(Exception e) {
	login.error(\"添加用户id{}异常\",id,e);
}
收藏 打印