当前位置: 首页 > 知识库问答 >
问题:

具有共享模块的JBoss 7 EAP特定于应用程序的日志记录

孙永嘉
2023-03-14

也许我只是完全遗漏了一些东西,但我正在尝试在JBoss7 EAP中配置log4j,主要目标是将应用程序(WAR)日志消息分配到唯一的文件中。

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
    <deployment>
        <dependencies>
            <module name="org.springframework.spring" slot="3.2" meta-inf="export" export="true" />
        </dependencies>
    </deployment>
</jboss-deployment-structure>


log4j.rootLogger = INFO, FILE
log4j.category.org.springframework=DEBUG
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=${jboss.server.log.dir}/webapp_a.log
log4j.appender.FILE.ImmediateFlush=true
log4j.appender.FILE.Threshold=debug
log4j.appender.FILE.Append=true
log4j.appender.FILE.DatePattern='.' yyyy-MM-dd-a
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d %-5p (%-6t) [%X{IP}] [%c] %m%n

我是否遗漏了一些非常明显的东西,或者真的不明白类加载在JBoss7中是如何工作的,而这甚至是不可能的。谢谢

共有1个答案

危飞跃
2023-03-14

这是因为您已经将Spring作为一个模块安装了。模块通过系统日志上下文进行日志记录,系统日志上下文通过日志子系统进行配置。

由于org.springframework.spring使用它自己的类加载器,所以您确实不希望org.springframework.spring模块使用应用程序日志上下文进行日志记录。原因是任何静态记录器都将在首先配置记录器的应用程序上配置。

 类似资料:
  • 我可以创建一个命名的子记录器,以便该记录器输出的所有日志都用它的名称标记。我可以只在函数/类/任何东西中使用记录器。 但是,如果该代码调用了另一个模块中的函数,该模块仅使用日志模块函数(根记录器的代理)进行日志记录,我如何确保这些日志消息通过相同的记录器(或者至少以相同的方式记录)? 例如: main.py 其他.py 产出: 我希望能够使两个日志行都标记为名称'stuff',我希望能够做到这一点

  • 问题内容: 如何根据包名将log4j设置为登录到其他文件? 例如: 我正在使用属性文件配置格式。目前,它是为服务器设置的,我想不理会它,并添加一些东西来记录我的日志。 属性文件如下所示: 问题答案: 您必须创建两个新的追加程序并相应地设置可加性。 更新:只需检查是否需要添加以下行。 您的常规日志文件在哪里,该日志文件记录除和以外的所有内容。

  • 需要帮助...我在这里做错了什么???我相信它确实从应用程序属性文件中读取路径和文件名。但我不认为它读取了logback.xml或logback-spring.xml 我做了一些研究,发现了许多问题/答案。但是我想每个人都说要把logback xml放在资源中,把路径和文件名放在application.properties.我知道这很简单,但是在某个地方遗漏了一些东西… 提前谢谢!! 应用程序属性

  • 我们将多个spring mvc应用程序(war)部署到WebLogic12c。每个was都依赖于一个或两个与其打包的应用程序库(jar)。我们想要做的是,创建应用程序(war)特定的日志文件,并将其配置为根据一定的大小旋转,并将其旧日志文件归档到某个文件夹。 如何在log4j2中实现?

  • 我将为不同云环境(AWS、Azure、google cloud等)中的多个客户部署多(30)个应用程序,并让他们彼此共享数据。我的计划是使用区块链/IPFS技术,每个客户保留一份数据副本,对这些数据的任何更改都会传播到所有节点。 数据可分为两种类型: 每个客户的公共数据由所有应用程序直接共享和访问。 每个客户的私有数据在存储之前都使用客户的公钥进行加密,所有应用程序都可以访问密码。 这听起来是一个