类级别的日志记录控制

2020-09-14 07:06发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

Hybris支持在类级别控制日志级别。 例如,如果我编写一个新类(DefaultYsaperpreturnprocessService.java),那么要从该类控制该类的日志,我需要在project.properties或local.properties中定义日志详细信息,并且该类也应具有这样的记录器。

 私有静态最终Logger LOG = Logger.getLogger(DefaultYsaperpreturnprocessService.class);

  
上面课程的

属性

log4j2.logger.helloController.name = com.sap.hybris.service.impl.DefaultYsaperpreturnprocessService

log4j2.logger.helloController.level =调试

log4j2.logger.helloController.appenderRef.stdout.ref = STDOUT

如果我要编写10个类,是否需要像上面在属性文件中那样为每个类定义日志,或者是否可以在包级别定义一些东西,以便所有类都可以在HAC中控制?/p>

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

Hybris支持在类级别控制日志级别。 例如,如果我编写一个新类(DefaultYsaperpreturnprocessService.java),那么要从该类控制该类的日志,我需要在project.properties或local.properties中定义日志详细信息,并且该类也应具有这样的记录器。

 私有静态最终Logger LOG = Logger.getLogger(DefaultYsaperpreturnprocessService.class);

  
上面课程的

属性

log4j2.logger.helloController.name = com.sap.hybris.service.impl.DefaultYsaperpreturnprocessService

log4j2.logger.helloController.level =调试

log4j2.logger.helloController.appenderRef.stdout.ref = STDOUT

如果我要编写10个类,是否需要像上面在属性文件中那样为每个类定义日志,或者是否可以在包级别定义一些东西,以便所有类都可以在HAC中控制?/p>

付费偷看设置
发送
4条回答
spaceman01
1楼-- · 2020-09-14 07:44

当类分布在多个程序包中时,您要做的是在配置中使用名称而不是程序包:

log4j2.logger.test.name =测试

然后将使用的所有类 Logger.getLogger(" Test"); 将使用相同的记录器。

如果10个类位于同一包中,则可以使用:

log4j2.logger.test.name = com.package.test

并使用 Logger.getLogger(Class1.class);调用记录器。 Logger.getLogger(" Class2.class"); .... 假定Class1,Class2,...位于包com.package.test中。

huskylover
2楼-- · 2020-09-14 07:45

第一种方法 允许对位于相同或不同程序包中的一堆类仅执行一个log4j2配置。 "测试"是记录器的名称,可以是您想要的任何名称。 因此,您可以使用Logger.getLogger(" Test");定义记录器" Test"; 您将可以在不同的类别中使用该单个记录器。 使用这两种不同的方法,您可以为特定的类,特定的程序包或一堆类提供记录器,因此它应该回答所有可能的用例。

大道至简
3楼-- · 2020-09-14 07:57

我认为,您也可以在扩展级别添加它,以便该扩展中的所有类都遵循相同的日志记录规则。

log4j2.logger.myprojectcore.name = com.myproject.core log4j2.logger.myprojectcore.level =信息 log4j2.logger.myprojectcore.appenderRef.stdout.ref = STDOUT

clever101
4楼-- · 2020-09-14 07:49

感谢您的回复。 我尝试了您所说的内容,即使这些类位于不同的程序包中,它也可以正常工作。

一周热门 更多>