点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在使用hybris 6.2.0.11。 为了记录日志,我在自定义java类中使用了以下语句。
私有静态最终记录器LOGGER = Logger.getLogger(QuickerIndexerQueryListener.class);
if(LOGGER.isDebugEnabled()){LOGGER.debug(" hello"); }
上面的debug语句(" hello")来了两次。 Tomcat日志文件中应该只有一个" hello"。
您知道日志语句如何打印两次吗? 以及如何消除日志文件中的这些重复语句?
嗨
这称为可加性。
来自 Wiki -
禁用可加性以防止重复记录:
在某些情况下,对日志目标执行两次日志输出。 这是Log4j可加性的副作用,默认情况下,每个记录器都将启用该功能。
示例:
您有一个包my.base.packagename的记录器。 而且您还有另一个包my.base.packagename.extension的记录器。 这些记录器的配置如下:
然后,将对my.base.packagename的每个记录语句执行一次,并且对my.base.packagename.extension的每个语句将执行两次-一次对定义的记录器,一次对继承的记录器my.base 。包裹名字。
您可以通过停用第二个定义的记录器的可加性来阻止第二次执行:
编辑:对于log4j2,请参见此处
干杯。
好的。。谢谢!
嗨,
您必须使用以下方式配置local.properties:
log4j2.logger.tms1.name = com.my.project.lalala
log4j2.logger.tms1.level =调试
log4j2.logger.tms1.appenderRef.stdout.ref = STDOUT
但是,如果对于更高的程序包(com.my.project),存在其他配置(在其他属性文件中),则混合日志将打印两次相同的消息。
为避免这种情况使用
log4j2.logger.tms1.additivity = false
一周热门 更多>