我的问题与以下问题非常相似:Suppressing logs from AppClassLoader
区别在于我正在使用带有Spring Boot的AspectJ(通过@EnableAspectJAutoProxy
和@EnableLoadTimeWeaving(aspectjWeaving = ENABLED)
批注),所以我既没有META-INF/aop.xml
,也没有META-INF/aop-ajc.xml
文件,在答案中被提到。
如何使用基于注释的配置禁用这些烦人的AppClassLoader警告?
更新 为了澄清起见,我在谈论这种日志:
...
[AppClassLoader@18b4aac2] error can't determine implemented interfaces of missing type org.springframework.cache.ehcache.EhCacheCacheManager
when weaving type org.springframework.boot.autoconfigure.cache.EhCacheCacheConfiguration
when weaving classes
when weaving
[Xlint:cantFindType]
[AppClassLoader@18b4aac2] error can't determine implemented interfaces of missing type org.springframework.cache.ehcache.EhCacheCacheManager
when weaving type org.springframework.boot.autoconfigure.cache.EhCacheCacheConfiguration
when weaving classes
when weaving
[Xlint:cantFindType]
[AppClassLoader@18b4aac2] error can't determine implemented interfaces of missing type org.springframework.cache.ehcache.EhCacheCacheManager
when weaving type org.springframework.boot.autoconfigure.cache.EhCacheCacheConfiguration
when weaving classes
when weaving
...
它们以红色打印,并且有很多。因此,我想以某种方式禁止显示这些日志。
答案 0 :(得分:1)
为了在使用AspectJ加载时编织时抑制某些AspectJ编译器消息,您可以执行以下操作。
将文件aspectjweaver.jar!/org/aspectj/weaver/XlintDefault.properties
的副本创建到名称为{{1}的resources/META-INF
文件夹中。
更改行
Xlint.properties
到
cantFindType = error
然后,按如下所示在cantFindType = ignore
文件夹中创建aop.xml
,或将相应的选项添加到resources/META-INF
条目中,如下所示:
<weaver>
现在,您应该取消<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN"
"http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
<weaver options="-Xlintfile:META-INF/Xlint.properties" />
</aspectj>
错误,但其他AspectJ消息却没有得到解决。您可以类似地更改其他linter消息的报告。