问题标签 [jboss-logging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hibernate - 如何在 Hibernate 4 中配置日志记录以使用 SLF4J
Hibernate 3.x 使用slf4j进行日志记录。Hibernate 4.x 使用jboss-logging。我正在编写一个使用 Hibernate 4 和 SLF4J 进行日志记录的独立应用程序。
如何配置 Hibernate 以登录到 SLF4J?
如果那不可能,我该如何配置 Hibernate 的日志记录?
关于日志记录的 Hibernate 4.1 手册部分以警告说它是...
完全过时了。Hibernate 从 4.0 开始使用 JBoss Logging。当我们将此内容迁移到开发人员指南时,这将被记录下来。
...继续谈论 SLF4J,所以没用。入门指南和开发者指南都没有谈论日志记录。迁移指南也没有。
我一直在寻找关于 jboss-logging 本身的文档,但我根本找不到任何文档。GitHub 页面是静默的,JBoss 的社区项目页面甚至没有列出 jboss-logging。我想知道项目的错误跟踪器是否有任何与提供文档相关的问题,但事实并非如此。
好消息是,当在应用服务器(例如 JBoss AS7)中使用 Hibernate 4 时,日志记录在很大程度上会为您处理好。但是如何在独立应用程序中配置它?
hibernate - Hibernate 4.x 日志配置
我正在尝试使用 jboss-logging,而不是 log4j 来查找有关 Hibernate 4.x 日志记录配置的信息。有人可以帮助我吗?我需要禁用信息记录...
java - 如何使用 Hibernate 带来的 JBoss 日志记录?
我正在编写使用 Hibernate 的独立 Java 应用程序。Mavenjboss-logging
为我带来了图书馆。我没有使用 JBoss。问题是:我可以只用这个库登录,还是需要下载一些日志实现,比如log4j
?
jboss5.x - 如何在 jboss soa 5.3 中启用堆栈跟踪日志以摆脱启用更详细的日志记录以查看整个堆栈跟踪
我正在使用在 jboss 5.1 上运行的 jboss 5.3 soa。在尝试使用管理员用户访问 teiid 客户端时,我得到“启用更详细的日志记录以查看整个堆栈跟踪。”。事实上,我得到这个错误的地方很少。请让 mw 知道使用堆栈跟踪启用更多详细信息登录。
hibernate - 如何从休眠日志中删除无意义的代码(HHH000 ...)
我正在尝试新版本的 Hibernate(到目前为止我使用的是 3.x),并且无论出于何种原因,Hibernate 都切换到了 jboss-logging。这是我可以轻松忍受的东西,但我喜欢保持我的日志干净和可读,并将代码插入到日志消息中:
我使用 log4j 作为日志库,我的模式是
这表明该代码已经是发送到 log4j 的消息的一部分。
那么有没有办法从日志消息中删除代码
我不想完全关闭休眠日志记录,我只是不希望其中包含 HHH000412 之类的代码。
log4j - jboss 作为 7.1.1 的最终日志
我的耳朵有一个作为子部署的战争。ear 文件有一个 META-INF 目录,其中有一个 jboss-ejb-client.xml 文件,该文件只有一个 ejb-recievers 元素和一个 webscheduler.war。这场战争使用了 commons-logging-api.jar。此应用程序在 jboss 上部署为 7.1.1.final。我想使用 apache log4j 进行日志记录。于是我在ear的meta-inf目录下添加了一个jboss-deployment-structure.xml
我在战争的 lib 目录中有一个 commons-logging.properties 文件,其中包含以下内容,
log4j.configuration=/usr/share/wth/jboss/jboss-as-7.1.1/standalone/configuration/log4j.xml
此外,除了 log4j-1.2.11.jar,我在 lib 中没有任何其他日志框架 jar。(如 SLF4j 等)。如您所见,log4j.xml 位于上述属性所描述的目录中。
问题是当我启动 jboss 时,一些应用程序日志确实被写入 log4j.xml 中描述的日志文件(比如 /a/b/c/srv.log),但同时日志也被写入默认 srv。直接登录 jboss 日志。(jboss/standalone/log/srv.log)。
我缺少什么让 jboss 不使用自己的日志记录并使用我提供的 log4j 配置。
jboss - JBoss AS6.1 不会使用 log4j 附加程序 - 可能是一个错误?
我想在我的 JBoss 6.1 部署中使用 log4j 附加程序。由于我无法让它工作,我编写了一些测试代码并注意到 org.apache.log4j.Logger.getLogger(String) 正在返回一个 org.jboss.logmanager.log4j.BridgeLogger 类型的对象。
所以我想我有两个选择:(1)尝试让 getLogger 调用返回一个 apache log4j 类型而不是 JBoss BridgeLogger,或者(2)接受 JBoss 正在做某种桥接并让它使用 log4j appenders我已经写了我需要它来使用。
所以尝试第一个选项:Logger.getLogger() 委托给 LogManager.getLogger(String),它执行以下操作:
RepositorySelector 在 LogManager 中是静态的,设置如下:
但是LogManager有一个setRepositorySelector,所以我得出的结论是JBoss启动过程中有东西在调用setRepositorySelector。因此,为了测试我从我的测试日志代码中调用了 setRepositorySelector(将其设置为 DefaultRepositorySelector 作为 LogManager 的静态初始化程序),然后检查返回的 Logger 类型 - 它仍然是 org.jboss.logmanager.log4j 类型。桥梁记录器!!
所以现在继续我的第二个选项:我想要的只是能够使用 log4j 附加程序 - deploy/jboss-logging.xml 文件有很多注释掉的 log4j 附加程序,所以我猜它们必须得到支持。因此,我按如下方式放入:
通过该更改,我不仅没有得到我的 serverx.log 文件,而且没有任何写入 server.log 的内容(没有上述更改的情况下填充了 server.log)。
我已经阅读了很多关于 jboss-deployment-structure.xml 并排除 log4j 依赖项的内容,但我对正在讨论的内容了解不够,无法知道它是否与我的问题相关。我怀疑这无关紧要。
我什至尝试部署这个听起来相关的补丁: https ://issues.jboss.org/browse/JBAS-8791 但没有区别。
任何人?
谢谢,保罗
jboss - 包括用于 jboss 日志记录 jboss-log4j.xml 的自定义 appender 类
我对 JBOSS 比较陌生。我必须使用一个自定义附加程序,其中有一个可用的 jar 文件。
例如。
但是这样做我得到了错误
必须配置除 jboss-log4j.xml 之外的哪个文件?
jar 文件必须放在 jboss 层次结构中的什么位置以及如何配置 jboss-log4j.xml 以使用 appender?
谢谢。
hibernate - 回退当日志来自 jboss-logging 时忽略级别
我的 web 应用程序(部署在 tomcat 7 上)正在使用 hibernate 4.2,它使用 jboss-logging 进行日志记录。Jboss 日志在路径上找到 slf4j 并使用它。反过来,我有 logback-classic 来输出日志。一切正常,但我无法自定义根日志记录级别,即
结果是:
logback-test 16:47:03.689 [http-bio-8080-exec-5] 调试 org.jboss.logging - 日志提供程序:org.jboss.logging.Slf4jLoggerProvider
logback-test 16:47:04.244 [http-bio-8080-exec-5] 调试 ohcfg.annotations.EntityBinder
logback-test 10:00:11.911 [localhost-startStop-1] 信息 rest.helpers.MyApplication
对于来自 jboss (ohcfg.annotations.*) 的消息,级别设置为 info,但会打印一条调试消息。当我直接使用 slf4j (rest.helpers.*) 时,它会正确过滤掉我的调试消息,并打印我的信息消息。
现在,如果根日志级别设置为“无”,允许一些调试消息将打印所有这些:
logback-test 10:22:25.926 [localhost-startStop-1] DEBUG rest.helpers.MyApplication -dMyApplication() 2013 年 8 月 2 日上午 10:22:26 org.glassfish.jersey.server.ApplicationHandler 初始化信息:启动 Jersey 应用程序
logback-test 10:22:26.253 [localhost-startStop-1] 信息 rest.helpers.MyApplication
logback-test 10:22:42.995 [http-bio-8080-exec-5] 调试 org.jboss.logging - 日志提供程序:org.jboss.logging.Slf4jLoggerProvider
logback-test 10:22:43.025 [http-bio-8080-exec-5] 调试 org.hibernate.type.BasicTypeRegistry
我不允许 org.hibernate 调试消息,为什么会出现?我验证了正确的配置文件(通过更改日志格式)
请帮助我理解这一点。
我的类路径包含
- slf4j-api 1.6.1
- 七月到 slf4j 1.6.1
- log4j-over-slf4j 1.6.1
- logback 核心 1.0.33
- logback-经典 1.0.33
- jboss 日志记录 3.1.0.GA。
logback.xml 和 logback-test.xml 都在类路径中。logback.xml 包含<root level="warn">
并且没有进一步的专门化
spring - 如何在 Tomcat 上使用 JPA、Hibernate 和 Spring 避免 Classloader 泄漏
Open J2EE Web 模板是 wicket 的展示应用程序 - 带有 Spring 和 Hibernate 的 JPA,在 Tomcat7 servlet 容器上运行。它的 Maven 构建脚本似乎以标准方式使用组件。
但是,当它从 Tomcat 取消部署时,它会受到应用程序类加载器内存泄漏的影响。
Tomcat 的“查找泄漏”按钮确认泄漏。当使用 VM 选项 -XX:+HeapDumpOnOutOfMemoryError 部署在 Tomcat 上时,可以使用 Eclipse Memory Analyzer Tool (MAT) 分析生成的堆转储。MAT 将类标识java.util.logging.Level$KnownLevel
为阻止垃圾收集的罪魁祸首。
构造函数的调试KnownLevel
显示以下堆栈跟踪:
java.util.logging.Level$KnownLevel.add(Level.java:477) java.util.logging.Level.(Level.java:212) java.util.logging.Level.(Level.java:190) 组织。 jboss.logging.JDKLevel.(JDKLevel.java:35) org.jboss.logging.JDKLevel.(JDKLevel.java:42) org.jboss.logging.JDKLogger.translate(JDKLogger.java:78) org.jboss.logging。 JDKLogger.isEnabled(JDKLogger.java:85) org.jboss.logging.Logger.debugf(Logger.java:563) org.jboss.logging.LoggerProviders.find(LoggerProviders.java:37) org.jboss.logging.LoggerProviders。 (LoggerProviders.java:32) org.jboss.logging.Logger.getLogger(Logger.java:2163) org.jboss.logging.Logger.getMessageLogger(Logger.java:2259) org.jboss.logging.Logger.getMessageLogger(Logger .java:2214) org.hibernate.ejb.Ejb3Configuration.(Ejb3Configuration.java:144) org.hibernate.ejb.HibernatePersistence。createContainerEntityManagerFactory(HibernatePersistence.java:74) org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:268) org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310) org.springframework.beans。 factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452) org.springframework.beans.factory.support.AbstractAutowireAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452) java:519) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory。createBean(AbstractAutowireCapableBeanFactory.java:456) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) org .springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) org.springframework.beans.factory.support.DefaultListableBeanFactory .preInstantiateSingletons(DefaultListableBeanFactory.java:567) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385) org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284) org.springframework.web.context.ContextLoaderListener。 contextInitialized(ContextLoaderListener.java:111) org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
如果我正确理解了类加载器泄漏:可怕的“java.lang.OutOfMemoryError: PermGen space”异常,那么这个类加载器泄漏是可以预料的。
避免这种情况的推荐方法是什么,或者 Tomcat 上的替代 Spring/JPA 模板 Web 应用程序是什么?