此项目以aop的形式添加fluent 日志

sample介绍
spring-mvc-aop-helloworld 为spring mvc aop condition
toolcommontest 为spring boot aop condition

0.将项目打包上传maven私服

1.spring boot和spring 添加依赖
   <dependency>
        <groupId>com.taiyue.tool.common</groupId>
        <artifactId>tool-common</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
2.添加application.properties
	1)位置
	spring boot添加到resources下
	spring mvc添加到 WEB-INFO下classes文件夹下
    2) 详情
		#是否支持 fluent日志   false否   true是(默认)
		#即aop注解总开关
		fluent.aopStatus=true
		#当前服务名称
		project.name=toolcommontest
		#fluent 连接信息   
		#非istio项目
		fluent.url=192.168.181.99
		fluent.port=30224
		#istio项目
		#fluent.url=fluentd-es.logging
		#fluent.port=24224
3.上下文引入aop类
	1)spring boot
	启动类引入
	@Import({ControllerProcessAop.class, DaoProcessAop.class, ServiceProcessAop.class})
	2)spring
	.xml
	<context:component-scan base-package="com.taiyue.tool.common.process" />
	<aop:aspectj-autoproxy proxy-target-class="true"/>
4.使用
    1)aop添加fluent日志    spring boot/spring
    
    controller类添加注解@DinfoUrlTag
    service类添加注解@DinfoServiceTag
    dao类添加注解@DinfoDaoTag

   注意:可以在application.properties中通过配置fluent.aopStatus统一控制aop生效与否

   2)业务代码添加fluent日志

    假如配置了application.properties可以直接通过FluentProperties.getLog()获取fluent服务对象。

   如:

    FluentProperties.getLog().log("hello","testMethod","helloworld");
   log方法详解:

log(String tag, String key, Object value)

log(String tag, String key, Object value, long timestamp)

log(String tag, Map<String, Object> data)

log(String tag, Map<String, Object> data, long timestamp)
5.事例代码
https://github.com/jiuchongxiao/fluent-aop.git
posted on 2018-05-31 17:14  九重霄  阅读(404)  评论(0编辑  收藏  举报