Java JBoss server.log删除条目“;WARN org.apache.commons.beanutils.locale.converter.DecimalLocaleConverter-未提供模式,使用默认值。”;
我们使用JBoss EAP 6.1.0.GA(AS 7.2.0.Final-redhat-8)。在我们的server.log文件中 有许多日志条目Java JBoss server.log删除条目“;WARN org.apache.commons.beanutils.locale.converter.DecimalLocaleConverter-未提供模式,使用默认值。”;,java,apache,jakarta-ee,jboss,log4j,Java,Apache,Jakarta Ee,Jboss,Log4j,我们使用JBoss EAP 6.1.0.GA(AS 7.2.0.Final-redhat-8)。在我们的server.log文件中 有许多日志条目 WARN [org.apache.commons.beanutils.locale.converters.DecimalLocaleConverter] No pattern provided, using default. 我们需要删除 问题是,我不确定这些消息是否真的来自我们自己的应用程序(让我们称之为UKApp),因为我们的JBoss
WARN [org.apache.commons.beanutils.locale.converters.DecimalLocaleConverter] No pattern provided, using default.
我们需要删除
问题是,我不确定这些消息是否真的来自我们自己的应用程序(让我们称之为UKApp),因为我们的JBoss服务器托管了许多应用程序,而不仅仅是UKApp。此外,我们的应用程序UKApp使用log4j,并且有自己的log4.properties配置文件,其中包含以下行:
# struts packages
log4j.logger.org.apache=ERROR, R
还有那几排
# Rolling file appender
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${LOG_ROOT}/Applications/UKApp.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d [%t] %p %c %x - %m%n
# Set the max size of the file and the number of backup files
log4j.appender.R.MaxFileSize=2000KB
log4j.appender.R.MaxBackupIndex=3
实际上,我们的应用程序UKApp可能会单独使用apache类
org.apache.commons.beanutils.locale.converter.decimallocalConverter
更具体地说,它的方法调用
DecimalLocaleConverter.convert(int, null);
它会输出上面引用的警告消息
但是:这个调用也可能被其他应用程序使用。另外,根据我们的配置文件,我们将整个包org.apache的日志级别设置为ERROR,并向R appender输出:
# struts packages
log4j.logger.org.apache=ERROR, R
在本例中,它是我们自己的文件${LOG_ROOT}/Applications/UKApp.LOG,而不是general server.LOG
这是否意味着警告消息并非来自我们的应用程序UKApp
谢谢大家!
kindreagrds:Alexander Mintchev如果调用方法
DecimalLocaleConverter.convert(int,null)
然后使用语句DecimalLocalConverter.convert(int,“###,###.##”)代码>仔细阅读了其他帖子,例如:
我们注意到我们的jboss部署结构.xml
配置文件包含以下exlusions
部分:
<exclusions>
<module name="org.slf4j" />
<module name="org.slf4j.ext" />
<module name="org.slf4j.jcl-over-slf4j" />
<module name="org.slf4j.impl" />
<module name="org.apache.log4j" />
<module name="org.apache.commons.logging" />
<module name="org.jboss.logging" />
<module name="org.jboss.logmanager" />
</exclusions>
但是,我们还注意到,
部分前面的
部分如下所示:
<dependencies>
<module name="org.picketlink" slot="main"/>
<module name="org.apache.xalan" slot="main"/>
<module name="org.apache.xerces" slot="main"/>
<module name="javax.servlet.api" slot="main" export="true"/>
<module name="javax.xml.bind.api" slot="main" export="true"/>
<module name="com.sun.xml.bind" slot="main" export="true"/>
<module name="javax.xml.ws.api" slot="main" export="true"/>
<module name="org.apache.commons.logging" slot="main" export="true"/>
<module name="org.apache.cxf.impl" slot="main" export="true"/>
</dependencies>
显然,org.apache.commons.logging
条目出现在
和
部分
我们从
部分删除了条目,它解决了我们的问题。您正在调用DecimalLocalConverter.convert(int,null)代码>从您的应用程序?实际上,我们不直接使用此方法调用-它可能由我们所指的某个JAR使用。但是:我创建了我的小型测试应用程序,它直接使用类和上述方法调用来测试日志记录。在我的小测试应用程序中,我添加了配置条目,然后,它只是一个警告,忽略它。log4j.logger.org.apache.commons.beanutils.locale.converter.DecimalLocaleConverter=WARN,stdout,R,消息进入我们自己的自定义日志文件,实际上,我必须清除所有这些消息中的server.log文件