使用 Spring Boot 禁用 AppClassLoader AspectJ 日志记录
Disable AppClassLoader AspectJ logging with Spring Boot
我的问题与这个非常相似:Suppressing logs from AppClassLoader
不同之处在于我将 AspectJ 与 Spring 引导一起使用(通过 @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
...
它们是红色印刷的,而且数量很多。所以我想以某种方式抑制这些日志。
为了在使用 AspectJ load-time 编织时抑制某些 AspectJ 编译器消息,您可以执行以下操作。
创建文件 aspectjweaver.jar!/org/aspectj/weaver/XlintDefault.properties
的副本到您的 resources/META-INF
文件夹,名称为 Xlint.properties
。
换行
cantFindType = error
到
cantFindType = ignore
然后,在您的resources/META-INF
文件夹中创建您的aop.xml
,如下所示,或者将相应的选项添加到<weaver>
条目中,如图所示:
<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN"
"http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
<weaver options="-Xlintfile:META-INF/Xlint.properties" />
</aspectj>
现在您的 cantFindType
错误应该被抑制,但其他 AspectJ 消息保持不变。您可以类似地更改其他 linter 消息的报告。
我的问题与这个非常相似:Suppressing logs from AppClassLoader
不同之处在于我将 AspectJ 与 Spring 引导一起使用(通过 @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
...
它们是红色印刷的,而且数量很多。所以我想以某种方式抑制这些日志。
为了在使用 AspectJ load-time 编织时抑制某些 AspectJ 编译器消息,您可以执行以下操作。
创建文件 aspectjweaver.jar!/org/aspectj/weaver/XlintDefault.properties
的副本到您的 resources/META-INF
文件夹,名称为 Xlint.properties
。
换行
cantFindType = error
到
cantFindType = ignore
然后,在您的resources/META-INF
文件夹中创建您的aop.xml
,如下所示,或者将相应的选项添加到<weaver>
条目中,如图所示:
<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN"
"http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
<weaver options="-Xlintfile:META-INF/Xlint.properties" />
</aspectj>
现在您的 cantFindType
错误应该被抑制,但其他 AspectJ 消息保持不变。您可以类似地更改其他 linter 消息的报告。