加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

用于Java单元测试的JBoss日志记录?

发布时间:2020-12-15 02:10:22 所属栏目:Java 来源:网络整理
导读:我继承了一些显式使用JBoss Logging实现的 java代码.我知道这通常被配置为JBoss Subsytem,并且我能够在服务器上运行时观察各种日志调优操作.但是,我没有获得单元测试的任何日志消息输出.我在测试类路径上删除了几个配置文件,包括: logging.properties log4j
我继承了一些显式使用JBoss Logging实现的 java代码.我知道这通常被配置为JBoss Subsytem,并且我能够在服务器上运行时观察各种日志调优操作.但是,我没有获得单元测试的任何日志消息输出.我在测试类路径上删除了几个配置文件,包括:

> logging.properties
> log4j.xml
> log4j2.xml

但没有看到任何结果.有没有人能够配置JBoss Logging系统,以便在单元测试中它们在容器外可见?这甚至可能吗? logging configuration guide没有说明如何做到这一点.

解决方法

您可以使log4j.xml工作,但是您需要确保在测试类路径上有兼容的vanilla log4j版本,例如1.2.17,并且您没有修改版本,log4j-jboss-logmanager,在类路径上,它不读取log4j.xml.

细节.

见https://stackoverflow.com/a/18323126/1341535.
我接受这个:

I would recommend you configure the log manager using the logging
subsystem provided with the application server. This is the only way
to configure the server logging.

暗示在测试中配置JBoss Log Manager基本上是不可能的,因为没有服务器子系统配置,也没有什么可以解析它.也许您可以通过编程方式对其进行配置,但这太不方便了.

因此,这使我们使用JBoss Logging facade和log4j作为日志管理器,可以使用log4j.xml轻松配置.

现在,我想到了,Wildfly中有一个logging.properties文件,它在初始化日志记录子系统之前配置日志记录.这意味着您可以使用logging.properties配置JBoss Log Manager,您只需将相关的jar放在测试类路径上,可能是jboss-logmanager和log4j-jboss-logmanager.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读