日志管理采用UserAgent

 
 

用于通过从request请求中的User-Agent中获取客户端浏览器类型、客户端操作系统、ip地址等信息

maven 引入包

	<!-- https://mvnrepository.com/artifact/eu.bitwalker/UserAgentUtils -->
        <dependency>
            <groupId>eu.bitwalker</groupId>
            <artifactId>UserAgentUtils</artifactId>
            <version>1.21</version>
        </dependency>

在 zuul 进行拦截,并保存到数据库

@Override
	public Object run() {
		RequestContext context = RequestContext.getCurrentContext();
		HttpServletRequest request = context.getRequest();
		// 获取cardNumber参数
		UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
		// 请求链接
		System.out.println("URI===>" + request.getRequestURI());
		// 请求参数
		System.out.println("parameterMap" + request.getParameterMap());
		// 浏览器名称
		System.out.println("browser===>" + userAgent.getBrowser().getName());
		// 浏览器类别
		System.out.println("browserType===>" + userAgent.getBrowser().getBrowserType().getName());
		// 操作系统
		System.out.println("operatingSystem===>" + userAgent.getOperatingSystem().getName());
		// 设备类型
		System.out.println("deviceType===>" + userAgent.getOperatingSystem().getDeviceType().getName());
		// 绘制引擎
		System.out.println("vRenderingEngine===>" + userAgent.getBrowser().getRenderingEngine().name());
		if (context.containsKey("startTime")) {
			long statrtTime = (long) context.get("startTime");// 请求的开始时间
			int time = (int) (System.currentTimeMillis() - statrtTime);
			System.out.println("time===>" + time);
		}
		System.out.println("Method===>" + request.getMethod());// 请求方式
		
		return null;
	}


猜你喜欢

转载自blog.csdn.net/qq_38789941/article/details/81001484