首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在log4j1迁移到log4j2之后,将使用默认配置

在log4j1迁移到log4j2之后,将使用默认配置
EN

Stack Overflow用户
提问于 2021-09-30 12:49:49
回答 1查看 4.6K关注 0票数 3

我已将以下内容添加到我的pom.xml文件中:

代码语言:javascript
运行
复制
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-1.2-api</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
    </dependency>

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
    </dependency>

还添加了系统属性以获得实验支持:

代码语言:javascript
运行
复制
System.setProperty("log4j2.debug", "true");
System.setProperty("log4j1.compatibility","true");
System.setProperty("log4j.configuration","C:/playground/HelloLogging/src/main/resources/log4j.properties");

并遵循apache站点上的说明:https://logging.apache.org/log4j/2.x/manual/migration.htmlhttps://logging.apache.org/log4j/2.x/manual/compatibility.html

我想继续使用我的v1 v1

由于某些原因,程序使用默认配置运行。不读取我的属性文件,也不写入输出日志文件

有人成功地使用了log4j2兼容性特性吗?

日志上写着:

没有配置根记录器,使用控制台附录程序创建默认错误级别的根记录器。

随附的是完整的痕迹:

代码语言:javascript
运行
复制
    "C:\Program Files\Java\jdk1.8.0_231\bin\java.exe" -Dlog4j1.compatibility=true -Dlog4j2.debug=true -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=trace -Dlog4j.configurationFile=file:///C:/Logging/src/main/resources/log4j.properties "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.4\lib\idea_rt.jar=54099:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_231\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\rt.jar;C:\playground\HelloLogging\target\classes;C:\Users\maryb\.m2\repository\org\apache\logging\log4j\log4j-1.2-api\2.13.0\log4j-1.2-api-2.13.0.jar;C:\Users\maryb\.m2\repository\org\apache\logging\log4j\log4j-api\2.13.0\log4j-api-2.13.0.jar;C:\Users\maryb\.m2\repository\org\apache\logging\log4j\log4j-core\2.13.0\log4j-core-2.13.0.jar" com.mkyong.HelloExample
DEBUG StatusLogger Using ShutdownCallbackRegistry class org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry
DEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup plugin.
DEBUG StatusLogger AsyncLogger.ThreadNameStrategy=UNCACHED (user specified null, default is UNCACHED)
TRACE StatusLogger Using default SystemClock for timestamps.
DEBUG StatusLogger org.apache.logging.log4j.core.util.SystemClock does not support precise timestamps.
DEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup plugin.
DEBUG StatusLogger Took 0.121267 seconds to load 238 plugins from sun.misc.Launcher$AppClassLoader@18b4aac2
DEBUG StatusLogger PluginManager 'Converter' found 46 plugins
DEBUG StatusLogger Starting OutputStreamManager SYSTEM_OUT.false.false-1
DEBUG StatusLogger Starting LoggerContext[name=18b4aac2, org.apache.logging.log4j.core.LoggerContext@49993335]...
DEBUG StatusLogger Reconfiguration started for context[name=18b4aac2] at URI null (org.apache.logging.log4j.core.LoggerContext@49993335) with optional ClassLoader: null
DEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup plugin.
DEBUG StatusLogger PluginManager 'ConfigurationFactory' found 6 plugins
DEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup plugin.
DEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup plugin.
DEBUG StatusLogger Missing dependencies for Yaml support, ConfigurationFactory org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory is inactive
DEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup plugin.
DEBUG StatusLogger Missing dependencies for Json support, ConfigurationFactory org.apache.logging.log4j.core.config.json.JsonConfigurationFactory is inactive
DEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup plugin.
DEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup plugin.
DEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup plugin.
DEBUG StatusLogger Using configurationFactory org.apache.logging.log4j.core.config.ConfigurationFactory$Factory@5e853265
DEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup plugin.
DEBUG StatusLogger Apache Log4j Core 2.13.0 initializing configuration org.apache.logging.log4j.core.config.properties.PropertiesConfiguration@59e5ddf
DEBUG StatusLogger Installed 1 script engine
DEBUG StatusLogger Oracle Nashorn version: 1.8.0_231, language: ECMAScript, threading: Not Thread Safe, compile: true, names: [nashorn, Nashorn, js, JS, JavaScript, javascript, ECMAScript, ecmascript], factory class: jdk.nashorn.api.scripting.NashornScriptEngineFactory
DEBUG StatusLogger PluginManager 'Core' found 123 plugins
DEBUG StatusLogger PluginManager 'Level' found 0 plugins
DEBUG StatusLogger PluginManager 'Lookup' found 15 plugins
DEBUG StatusLogger Building Plugin[name=loggers, class=org.apache.logging.log4j.core.config.LoggersPlugin].
DEBUG StatusLogger createLoggers(={})
DEBUG StatusLogger Building Plugin[name=appenders, class=org.apache.logging.log4j.core.config.AppendersPlugin].
DEBUG StatusLogger createAppenders(={})
WARN StatusLogger No Root logger was configured, creating default ERROR-level Root logger with Console appender
DEBUG StatusLogger PluginManager 'Converter' found 46 plugins
DEBUG StatusLogger Starting OutputStreamManager SYSTEM_OUT.false.false-2
DEBUG StatusLogger Configuration org.apache.logging.log4j.core.config.properties.PropertiesConfiguration@59e5ddf initialized
DEBUG StatusLogger Starting configuration org.apache.logging.log4j.core.config.properties.PropertiesConfiguration@59e5ddf
DEBUG StatusLogger Started configuration org.apache.logging.log4j.core.config.properties.PropertiesConfiguration@59e5ddf OK.
TRACE StatusLogger Stopping org.apache.logging.log4j.core.config.DefaultConfiguration@4361bd48...
TRACE StatusLogger DefaultConfiguration notified 1 ReliabilityStrategies that config will be stopped.
TRACE StatusLogger DefaultConfiguration stopping root LoggerConfig.
TRACE StatusLogger DefaultConfiguration notifying ReliabilityStrategies that appenders will be stopped.
TRACE StatusLogger DefaultConfiguration stopping remaining Appenders.
DEBUG StatusLogger Shutting down OutputStreamManager SYSTEM_OUT.false.false-1
DEBUG StatusLogger Shut down OutputStreamManager SYSTEM_OUT.false.false-1, all resources released: true
DEBUG StatusLogger Appender DefaultConsole-1 stopped with status true
TRACE StatusLogger DefaultConfiguration stopped 1 remaining Appenders.
TRACE StatusLogger DefaultConfiguration cleaning Appenders from 1 LoggerConfigs.
DEBUG StatusLogger Stopped org.apache.logging.log4j.core.config.DefaultConfiguration@4361bd48 OK
TRACE StatusLogger Reregistering MBeans after reconfigure. Selector=org.apache.logging.log4j.core.selector.ClassLoaderContextSelector@6302bbb1
TRACE StatusLogger Reregistering context (1/1): '18b4aac2' org.apache.logging.log4j.core.LoggerContext@49993335
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2,component=StatusLogger'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2,component=ContextSelector'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2,component=Loggers,name=*'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2,component=Appenders,name=*'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2,component=AsyncAppenders,name=*'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2,component=AsyncLoggerRingBuffer'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2,component=Loggers,name=*,subtype=RingBuffer'
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=18b4aac2
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=18b4aac2,component=StatusLogger
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=18b4aac2,component=ContextSelector
DEBUG StatusLogger Registering MBean org.apache.logging.log4j2:type=18b4aac2,component=Appenders,name=DefaultConsole-2
TRACE StatusLogger Using default SystemClock for timestamps.
DEBUG StatusLogger org.apache.logging.log4j.core.util.SystemClock does not support precise timestamps.
TRACE StatusLogger Using DummyNanoClock for nanosecond timestamps.
DEBUG StatusLogger Reconfiguration complete for context[name=18b4aac2] at URI C:\playground\HelloLogging\src\main\resources\log4j.properties (org.apache.logging.log4j.core.LoggerContext@49993335) with optional ClassLoader: null
DEBUG StatusLogger Shutdown hook enabled. Registering a new one.
DEBUG StatusLogger LoggerContext[name=18b4aac2, org.apache.logging.log4j.core.LoggerContext@49993335] started OK.
09:37:08.310 [main] ERROR com.mkyong.HelloExample - This is error : mkyong
09:37:08.315 [main] FATAL com.mkyong.HelloExample - This is fatal : mkyong
DEBUG StatusLogger Stopping LoggerContext[name=18b4aac2, org.apache.logging.log4j.core.LoggerContext@49993335]
DEBUG StatusLogger Stopping LoggerContext[name=18b4aac2, org.apache.logging.log4j.core.LoggerContext@49993335]...
TRACE StatusLogger Unregistering 1 MBeans: [org.apache.logging.log4j2:type=18b4aac2]
TRACE StatusLogger Unregistering 1 MBeans: [org.apache.logging.log4j2:type=18b4aac2,component=StatusLogger]
TRACE StatusLogger Unregistering 1 MBeans: [org.apache.logging.log4j2:type=18b4aac2,component=ContextSelector]
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2,component=Loggers,name=*'
TRACE StatusLogger Unregistering 1 MBeans: [org.apache.logging.log4j2:type=18b4aac2,component=Appenders,name=DefaultConsole-2]
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2,component=AsyncAppenders,name=*'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2,component=AsyncLoggerRingBuffer'
TRACE StatusLogger Unregistering but no MBeans found matching 'org.apache.logging.log4j2:type=18b4aac2,component=Loggers,name=*,subtype=RingBuffer'
TRACE StatusLogger Stopping org.apache.logging.log4j.core.config.properties.PropertiesConfiguration@59e5ddf...
TRACE StatusLogger PropertiesConfiguration notified 1 ReliabilityStrategies that config will be stopped.
TRACE StatusLogger PropertiesConfiguration stopping root LoggerConfig.
TRACE StatusLogger PropertiesConfiguration notifying ReliabilityStrategies that appenders will be stopped.
TRACE StatusLogger PropertiesConfiguration stopping remaining Appenders.
DEBUG StatusLogger Shutting down OutputStreamManager SYSTEM_OUT.false.false-2
DEBUG StatusLogger Shut down OutputStreamManager SYSTEM_OUT.false.false-2, all resources released: true
DEBUG StatusLogger Appender DefaultConsole-2 stopped with status true
TRACE StatusLogger PropertiesConfiguration stopped 1 remaining Appenders.
TRACE StatusLogger PropertiesConfiguration cleaning Appenders from 1 LoggerConfigs.
DEBUG StatusLogger Stopped org.apache.logging.log4j.core.config.properties.PropertiesConfiguration@59e5ddf OK
DEBUG StatusLogger Stopped LoggerContext[name=18b4aac2, org.apache.logging.log4j.core.LoggerContext@49993335] with status true

Process finished with exit code 0

enter code here
EN

回答 1

Stack Overflow用户

发布于 2021-10-05 16:38:24

由于Log4j 2.x还具有属性配置格式,为了区分这两种格式,您需要使用:

  • log4j2.configurationFile属性指定严格的Log4j 2.x配置文件列表,
  • log4j.configuration属性指定单个Log4j 1.2配置文件。

在您的示例中,将log4j.configurationFile替换为log4j.configuration

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69392539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档