java加载log4j.xml_集成 log4j2 但是没有加载log4j2.xml

本文介绍了在Java项目中集成log4j2时遇到的问题,项目启动加载的是log4j.xml而非log4j2.xml。在日志初始化过程中,发现存在多个SLF4J绑定,可能影响日志配置的正确加载。同时,删除log4j2.xml文件后应用仍能正常运行,进一步表明应用并未使用log4j2的配置。对于解决此类问题,需要检查类路径中是否存在冲突的SLF4J绑定,并确认日志配置文件路径的正确性。
摘要由CSDN通过智能技术生成

org.apache.logging.log4j

log4j-core

2.6

org.apache.logging.log4j

log4j-slf4j-impl

2.6

org.apache.logging.log4j

log4j-1.2-api

2.6

org.apache.logging.log4j

log4j-web

2.6

/Users/dean/develop/apache-tomcat-8.5.16/bin/catalina.sh run

[2019-04-26 09:56:51,266] Artifact wk-web:war exploded: Waiting for server connection to start artifact deployment...

objc[14188]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java (0x10f9a44c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10f9ed4e0). One of the two will be used. Which one is undefined.

Connected to the target VM, address: '127.0.0.1:62822', transport: 'socket'

26-Apr-2019 21:56:52.120 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.16

26-Apr-2019 21:56:52.125 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Jun 21 2017 17:01:09 UTC

26-Apr-2019 21:56:52.125 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.16.0

26-Apr-2019 21:56:52.125 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Mac OS X

26-Apr-2019 21:56:52.125 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.14.1

26-Apr-2019 21:56:52.125 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: x86_64

26-Apr-2019 21:56:52.125 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre

26-Apr-2019 21:56:52.125 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_121-b13

26-Apr-2019 21:56:52.125 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation

26-Apr-2019 21:56:52.125 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /Users/dean/Library/Caches/IntelliJIdea2018.2/tomcat/Unnamed_wk-parent_4

26-Apr-2019 21:56:52.125 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /Users/dean/develop/apache-tomcat-8.5.16

26-Apr-2019 21:56:52.127 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/Users/dean/Library/Caches/IntelliJIdea2018.2/tomcat/Unnamed_wk-parent_4/conf/logging.properties

26-Apr-2019 21:56:52.128 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

26-Apr-2019 21:56:52.128 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:62822,suspend=y,server=n

26-Apr-2019 21:56:52.128 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -javaagent:/Users/dean/Library/Caches/IntelliJIdea2018.2/captureAgent/debugger-agent.jar=file:/private/var/folders/w8/jmdjjv417_7glsr0km6nck600000gn/T/capture115.props

26-Apr-2019 21:56:52.128 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dfile.encoding=utf-8

26-Apr-2019 21:56:52.128 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=

26-Apr-2019 21:56:52.128 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1044

26-Apr-2019 21:56:52.128 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false

26-Apr-2019 21:56:52.128 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.authenticate=false

26-Apr-2019 21:56:52.129 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1

26-Apr-2019 21:56:52.129 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048

26-Apr-2019 21:56:52.129 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources

26-Apr-2019 21:56:52.130 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/Users/dean/Library/Caches/IntelliJIdea2018.2/tomcat/Unnamed_wk-parent_4

26-Apr-2019 21:56:52.130 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/Users/dean/develop/apache-tomcat-8.5.16

26-Apr-2019 21:56:52.130 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/Users/dean/develop/apache-tomcat-8.5.16/temp

26-Apr-2019 21:56:52.130 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/Users/dean/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.]

26-Apr-2019 21:56:52.283 信息 [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-7777"]

26-Apr-2019 21:56:52.331 信息 [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read

26-Apr-2019 21:56:52.334 信息 [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]

26-Apr-2019 21:56:52.336 信息 [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read

26-Apr-2019 21:56:52.336 信息 [main] org.apache.catalina.startup.Catalina.load Initialization processed in 559 ms

26-Apr-2019 21:56:52.411 信息 [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]

26-Apr-2019 21:56:52.411 信息 [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.16

26-Apr-2019 21:56:52.421 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-7777"]

26-Apr-2019 21:56:52.445 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]

26-Apr-2019 21:56:52.449 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 112 ms

Connected to server

[2019-04-26 09:56:52,871] Artifact wk-web:war exploded: Artifact is being deployed, please wait...

26-Apr-2019 21:57:00.234 信息 [RMI TCP Connection(2)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found binding in [jar:file:/Users/dean/code_gf/GuanfuAPP_OMS_190301/wk-app/wk-web/target/GF-OMS/WEB-INF/lib/vcloud-sdk-java-1.0.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in [jar:file:/Users/dean/code_gf/GuanfuAPP_OMS_190301/wk-app/wk-web/target/GF-OMS/WEB-INF/lib/log4j-slf4j-impl-2.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in [jar:file:/Users/dean/code_gf/GuanfuAPP_OMS_190301/wk-app/wk-web/target/GF-OMS/WEB-INF/lib/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

INFO [RMI TCP Connection(2)-127.0.0.1] - Starting Shiro environment initialization.

INFO [RMI TCP Connection(2)-127.0.0.1] - An instance with name 'authc' already exists. Redefining this object as a new instance of type cn.wizzer.app.web.commons.shiro.filter.PlatformAuthenticationFilter

WARN [RMI TCP Connection(2)-127.0.0.1] - Statistics can no longer be enabled via configuration.

INFO [RMI TCP Connection(2)-127.0.0.1] - Cache with name 'shiroDbRealm.authorizationCache' does not yet exist. Creating now.

INFO [RMI TCP Connection(2)-127.0.0.1] - Added EhCache named [shiroDbRealm.authorizationCache]

INFO [RMI TCP Connection(2)-127.0.0.1] - Realms have been explicitly set on the SecurityManager instance - auto-setting of realms will not occur.

INFO [RMI TCP Connection(2)-127.0.0.1] - Shiro environment initialized in 791 ms.

INFO [RMI TCP Connection(2)-127.0.0.1] - NutFilter[nutz] starting ...

INFO [RMI TCP Connection(2)-127.0.0.1] - Nutz Version : 1.r.67-20190109

INFO [RMI TCP Connection(2)-127.0.0.1] - Nutz.Mvc[nutz] is initializing ...

INFO [RMI TCP Connection(2)-127.0.0.1] - > scan 'cn.wizzer'

这个格式并不是配置的格式:

INFO [RMI TCP Connection(2)-127.0.0.1] -

private static final Log log = Logs.get();

这样获取的不是log4j2,而是Slf4j吧?

我觉得没有读取到这个log4j2.xml,因为删除了文件也是正常运行的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在 MapReduce 中使用 log4j 记录日志时,你需要在项目中添加 log4j 依赖项,并创建一个 log4j.properties 或 log4j.xml 文件来配置日志记录。以下是一个示例 log4j.xml 配置文件: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.out"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%p] %m%n"/> </layout> </appender> <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/path/to/your/log/file.log" /> <param name="MaxFileSize" value="10MB" /> <param name="MaxBackupIndex" value="5" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%p] %m%n"/> </layout> </appender> <logger name="org.apache.hadoop.mapreduce"> <level value="INFO"/> <appender-ref ref="consoleAppender"/> <appender-ref ref="fileAppender"/> </logger> <root> <priority value="INFO"/> <appender-ref ref="consoleAppender"/> <appender-ref ref="fileAppender"/> </root> </log4j:configuration> ``` 在这个示例配置中,我们定义了两个 Appender:consoleAppender 和 fileAppender,分别将日志输出到控制台和文件。我们还定义了一个 logger,它将记录来自 org.apache.hadoop.mapreduce 包的 INFO 级别日志,并将其发送到 consoleAppender 和 fileAppender。最后,我们定义了 root logger,它将记录所有未指定 logger 的日志,并将其发送到 consoleAppender 和 fileAppender。 你需要将此文件放置在 MapReduce 项目的 classpath 中,并在运行 MapReduce 作业时指定 log4j 配置文件的位置。例如,你可以使用以下命令来运行作业: ``` hadoop jar myjob.jar com.example.MyJob -Dlog4j.configuration=file:/path/to/your/log4j.xml input output ``` 其中,-Dlog4j.configuration 参数指定 log4j 配置文件的位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值