javar日志可以使用SLF4J,SLF4J 全称为 Simple Logging Facade for JAVA,即 java 简单日志门面。 和 commons-loging 一样也是对不同日志框架提供的一个门面封装,可以在部署的时候不修改任何配置即可接入一种日志实现方案,能支持多个参数,并通过 {} 占位符进行替换。例如:log.error("服务调用失败:{}",throwable.getMessage());其中{}为占位符,后面的参数throwable.getMessage()会填充此占位符。上面代码将会在控制台打印实际输出的日志,throwable.getMessage()返回该throwable的详细消息字符串。
@Componentpublic class RemoteProviderFallbackFactory implements FallbackFactory<RemoteProviderService> {/*** 门面模式* org.slf4j.Logger为java的日志规范,定义了一组接口* org.slf4j.Logger接口的实现有log4j,logback*/private static final Logger log = LoggerFactory.getLogger(RemoteProviderFallbackFactory.class);@Overridepublic RemoteProviderService create(Throwable throwable) {//{}为占位符,后面的参数throwable.getMessage()会填充此占位符log.error("服务调用失败:{}",throwable.getMessage());//jdk8中的lambda表达式写法return msg -> "<h1>请稍后访问</h1>";}}
可以使用@Slf4j注解来代替 private static final Logger log = LoggerFactory.getLogger(RemoteProviderFallbackFactory.class);
@Slf4j@Componentpublic class RemoteProviderFallbackFactory implements FallbackFactory<RemoteProviderService> {@Overridepublic RemoteProviderService create(Throwable throwable) {//{}为占位符,后面的参数throwable.getMessage()会填充此占位符log.error("服务调用失败:{}",throwable.getMessage());//jdk8中的lambda表达式写法return msg -> "<h1>请稍后访问</h1>";}}
