Java Log4j2 XML未获取类路径
这是我的XML文件Java Log4j2 XML未获取类路径,java,xml,log4j,classpath,Java,Xml,Log4j,Classpath,这是我的XML文件 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <configuration> <Appenders> <RollingFile name="MSIFatalFile" fileName="Fatal.log" filePattern="Fatal-%i.log"> <Policies&g
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<Appenders>
<RollingFile name="MSIFatalFile" fileName="Fatal.log"
filePattern="Fatal-%i.log">
<Policies>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<PatternLayout pattern="[%d{ISO8601}] %-5level %logger{6} - %msg%n"/>
</RollingFile>
<RollingFile name="MSIErrorFile" fileName="Error.log"
filePattern="Error-%i.log">
<Policies>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<PatternLayout pattern="[%d{ISO8601}] %-5level %logger{6} - %msg%n"/>
</RollingFile>
<RollingFile name="MISFile" fileName="MIS.log"
filePattern="MIS-%i.log">
<Policies>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<PatternLayout pattern="[%d{ISO8601}] %-5level %logger{6} - %msg%n"/>
</RollingFile>
</Appenders>
<loggers>
<logger name="fatalLogger" level="ALL" additivity="false">
<appender-ref ref="MSIFatalFile" />
</logger>
<logger name="errorLogger" level="ALL" additivity="false">
<appender-ref ref="MSIErrorFile" />
</logger>
<logger name="misLogger" level="ALL" additivity="false">
<appender-ref ref="MISFile" />
</logger>
</loggers>
</configuration>
当我把它放在我的源代码级别时,它工作得很好,但当我将它更改为外部目录文件夹时,它不会被解析,文件也不会更新,甚至在创建记录器实例时也不会创建
我通过System.setproperty(“java.class.path”,path)
但它不起作用。请指出我在这里做错了什么
更新尝试了所有可能的方法,但无法设置驻留在外部文件夹中的xml文件的类路径(或我认为更合适的引用文件)。问题是,当我把它放在项目级时,它所处的环境是怎样的,当我把它放在外部文件夹时,它会怎样 您可以使用
DOMConfigurator.configure(“log4j.xml”)
加载配置文件查看log4j(1)的配置。使用log4j.configuration
system属性指定初始化文件,并设置log4j.debug
system属性以获得更多的log4j调试输出。您将在该输出中找到关于log4j初始化阶段的信息
例如:
将xml绑定到任何位置。 可以使用System.setProperty(“log4j.configuration”,xmlpath)
这在我的情况下是有效的。将您的
外部目录设置为类路径。@CycDemo如何以编程方式执行,我是通过System.SetProperty(“java.class.path”,path)和UrlClassLoader完成的,但它不起作用。因为我把它放在一个外部文件夹中,它不会被重新引用。当我把它放在我的项目级别时,它被引用了。
java -cp C:\myApp\lib\*; -Dlog4j.configuration=C:\myApp\etc\log4j.xml -Dlog4j.debug MyMainClass