WebLogic Log4J2设置未打印调试消息

发布于 2025-01-24 20:31:11 字数 5048 浏览 2 评论 0原文

因此,我有一个简单的属性处理程序Java代码,该代码打印了这些记录仪。我使用的是Commons Loggging和Log4J2

import org.apache.commons.vfs2.FileObject;
import org.apache.commons.vfs2.FileSystemException;
import org.apache.commons.vfs2.FileSystemManager;
import org.apache.commons.vfs2.VFS;
import org.apache.commons.vfs2.impl.DefaultFileMonitor;

import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory;


/**
 * Provides functions to get the property file from cache or load it into cache.
 *
 */
public final class PropertiesHandler {
    
    private static final Log logger = LogFactory.getLog(PropertiesHandler.class);

    
    public static void main(String[] args) throws Exception {
        
  logger.debug("(((((New debug logger used in Log4j2)))))");
       logger.warn("(((((New warn logger used in Log4j2)))))");
       logger.info("(((((New info logger used in Log4j2)))))");
       logger.error("(((((New error logger used in Log4j2)))))");
      logger.debug("Entering getPropertyValue");
      logger.debug("propertyKey : [" + propertyKey + "]");
      logger.debug("propertyFile : [" + propertyFile + "]");
                }

.... 
<<Some other code>>

     

,该Log4J2用作JAR,并在WebLogic Server内部的服务中使用。

我的log4j2.xml被包装为罐子的一部分,

<Configuration status="error">
    <Appenders>
        <Console name="consoleLogger" target="SYSTEM_OUT">
            <PatternLayout pattern="%-7p %d [%t] %c %x - %m%n" />
        </Console>
        <RollingFile name="fileLogger"
            fileName="propertieshelper.log"
            filePattern="${filename}.%d{yyyy-MM-dd}" append="true">
            <PatternLayout pattern=" %-7p %d [%t] %c %x - %m%n" />
            <SizeBasedTriggeringPolicy size="102400KB" />
            <DefaultRolloverStrategy max="5" />
        </RollingFile>
    </Appenders>
    <Loggers>
    <Logger name="ca.bell" level ="debug">
            
            <AppenderRef ref="fileLogger" />
            <AppenderRef ref="consoleLogger" />
        </Logger>

        <Root level="error">
        <AppenderRef ref="fileLogger" />
        
        </Root>
    </Loggers>
</Configuration>

现在看起来像是h的,当我将罐子作为独立的日食中时,它会打印我所需的记录仪。

.
.
.

ERROR   2022-04-29 13:45:36,705 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - Unable to lookup startup property appConfigPath, using propertieshelper.properties embedded in the jar
DEBUG   2022-04-29 13:45:36,712 [main] ca.bell.common.utlis.PropertiesLoader [] - Loading properties from class path : propertieshelper.properties
DEBUG   2022-04-29 13:45:36,712 [main] ca.bell.common.utlis.PropertiesLoader [] - Loading properties using input stream 
DEBUG   2022-04-29 13:45:36,713 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - Derived default properties file : /opt/oracle/OSM/env.properties
DEBUG   2022-04-29 13:45:36,713 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - (((((New debug logger used in Log4j2)))))
WARN    2022-04-29 13:45:36,714 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - (((((New warn logger used in Log4j2)))))
INFO    2022-04-29 13:45:36,714 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - (((((New info logger used in Log4j2)))))
ERROR   2022-04-29 13:45:36,714 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - (((((New error logger used in Log4j2)))))
DEBUG   2022-04-29 13:45:36,714 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - Entering getPropertyValue
DEBUG   2022-04-29 13:45:36,718 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - propertyKey : [text]
DEBUG   2022-04-29 13:45:36,718 [main] ca.bell.dao.properties.handler.PropertiesHandler [
.
.
.

但是,当我在服务中使用此JAR并将应用程序部署到Weblogic Jar时,它不会仅打印“调试”日志。它确实打印了其余的。那我做错了什么?

- - 此属性处理程序应用程序的服务器端日志

.
.
.
5:19 AM EDT> <Warning> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New warn logger used in Log4j2)))))>
<Apr 29, 2022 3:15:19 AM EDT> <Info> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New info logger used in Log4j2)))))>
<Apr 29, 2022 3:15:19 AM EDT> <Error> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New error logger used in Log4j2)))))>
<Apr 29, 2022 3:15:19 AM EDT> <Warning> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New warn logger used in Log4j2)))))>
<Apr 29, 2022 3:15:19 AM EDT> <Info> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New info logger used in Log4j2)))))>
<Apr 29, 2022 3:15:19 AM EDT> <Error> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New error logger used in Log4j2)))))>
.
.
.

So i have a simple properties handler java code which prints these loggers . I am using commons logging and log4j2

import org.apache.commons.vfs2.FileObject;
import org.apache.commons.vfs2.FileSystemException;
import org.apache.commons.vfs2.FileSystemManager;
import org.apache.commons.vfs2.VFS;
import org.apache.commons.vfs2.impl.DefaultFileMonitor;

import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory;


/**
 * Provides functions to get the property file from cache or load it into cache.
 *
 */
public final class PropertiesHandler {
    
    private static final Log logger = LogFactory.getLog(PropertiesHandler.class);

    
    public static void main(String[] args) throws Exception {
        
  logger.debug("(((((New debug logger used in Log4j2)))))");
       logger.warn("(((((New warn logger used in Log4j2)))))");
       logger.info("(((((New info logger used in Log4j2)))))");
       logger.error("(((((New error logger used in Log4j2)))))");
      logger.debug("Entering getPropertyValue");
      logger.debug("propertyKey : [" + propertyKey + "]");
      logger.debug("propertyFile : [" + propertyFile + "]");
                }

.... 
<<Some other code>>

     

which is packaged as a jar and used inside a service inside weblogic server.

my log4j2.xml which is packaged as part of the jar looks like hthis

<Configuration status="error">
    <Appenders>
        <Console name="consoleLogger" target="SYSTEM_OUT">
            <PatternLayout pattern="%-7p %d [%t] %c %x - %m%n" />
        </Console>
        <RollingFile name="fileLogger"
            fileName="propertieshelper.log"
            filePattern="${filename}.%d{yyyy-MM-dd}" append="true">
            <PatternLayout pattern=" %-7p %d [%t] %c %x - %m%n" />
            <SizeBasedTriggeringPolicy size="102400KB" />
            <DefaultRolloverStrategy max="5" />
        </RollingFile>
    </Appenders>
    <Loggers>
    <Logger name="ca.bell" level ="debug">
            
            <AppenderRef ref="fileLogger" />
            <AppenderRef ref="consoleLogger" />
        </Logger>

        <Root level="error">
        <AppenderRef ref="fileLogger" />
        
        </Root>
    </Loggers>
</Configuration>

now when i run my jar as a standalone in eclipse it prints my needed loggers.

.
.
.

ERROR   2022-04-29 13:45:36,705 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - Unable to lookup startup property appConfigPath, using propertieshelper.properties embedded in the jar
DEBUG   2022-04-29 13:45:36,712 [main] ca.bell.common.utlis.PropertiesLoader [] - Loading properties from class path : propertieshelper.properties
DEBUG   2022-04-29 13:45:36,712 [main] ca.bell.common.utlis.PropertiesLoader [] - Loading properties using input stream 
DEBUG   2022-04-29 13:45:36,713 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - Derived default properties file : /opt/oracle/OSM/env.properties
DEBUG   2022-04-29 13:45:36,713 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - (((((New debug logger used in Log4j2)))))
WARN    2022-04-29 13:45:36,714 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - (((((New warn logger used in Log4j2)))))
INFO    2022-04-29 13:45:36,714 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - (((((New info logger used in Log4j2)))))
ERROR   2022-04-29 13:45:36,714 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - (((((New error logger used in Log4j2)))))
DEBUG   2022-04-29 13:45:36,714 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - Entering getPropertyValue
DEBUG   2022-04-29 13:45:36,718 [main] ca.bell.dao.properties.handler.PropertiesHandler [] - propertyKey : [text]
DEBUG   2022-04-29 13:45:36,718 [main] ca.bell.dao.properties.handler.PropertiesHandler [
.
.
.

but when i use this jar within my service and deploy the app to weblogic jar it does NOT print the "debug" logs ONLY. it does Prints the rest. So what am i doing wrong ?

--
server side logs for this properties handler app

.
.
.
5:19 AM EDT> <Warning> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New warn logger used in Log4j2)))))>
<Apr 29, 2022 3:15:19 AM EDT> <Info> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New info logger used in Log4j2)))))>
<Apr 29, 2022 3:15:19 AM EDT> <Error> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New error logger used in Log4j2)))))>
<Apr 29, 2022 3:15:19 AM EDT> <Warning> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New warn logger used in Log4j2)))))>
<Apr 29, 2022 3:15:19 AM EDT> <Info> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New info logger used in Log4j2)))))>
<Apr 29, 2022 3:15:19 AM EDT> <Error> <ca.bell.dao.properties.handler.PropertiesHandler> <BEA-000000> <(((((New error logger used in Log4j2)))))>
.
.
.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文