Java 如何根据参考包分离jar文件日志
我有两个包com.temp1和com.temp2都使用spring、hibernate和其他一些jar文件。我想为这两个包获取单独的日志文件。我可以在代码中更改什么 log4j2.xmlJava 如何根据参考包分离jar文件日志,java,log4j2,Java,Log4j2,我有两个包com.temp1和com.temp2都使用spring、hibernate和其他一些jar文件。我想为这两个包获取单独的日志文件。我可以在代码中更改什么 log4j2.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE xml> <Configuration status="debug"> <Appenders> <RollingFile name="log_A" fi
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<Configuration status="debug">
<Appenders>
<RollingFile name="log_A" fileName="${path}/A_temp.log"
filePattern="${path}/A_temp-%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout>
<pattern><![CDATA[%d{MM-dd HH:mm:ss} "%-17c" "%m"%n]]>
</pattern>
</PatternLayout>
</RollingFile>
<RollingFile name="log_B" fileName="${path}/B_temp.log"
filePattern="${path}/B_temp-%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout>
<pattern><![CDATA["${hostName}" "${userName}" %d{yyyy-MM-dd HH:mm:ss} "%-17c" "%m"%n]]>
</pattern>
</PatternLayout>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="com.temp1" level="debug">
<appender-ref ref="log_A" level="debug"/>
</Logger>
<Logger name="com.temp2" level="debug">
<appender-ref ref="log_B" level="debug"/>
</Logger>
</Loggers>
</Configuration>
现在打印出什么?现在在两个文件中都获得日志。如果access com.temp1,jar文件log在这两个文件中。演示如何在java类中初始化记录器添加了初始化的类为什么不使用Logger Logger=LogManager.getLogger(MyApp.class)?我想,你的初始值设定中的问题。
private void initilizeLoggs() throws FileNotFoundException, IOException {
String loggerName = null;
loggerName = allProps.getProperty("logger.file.name");
if(loggerName != null) {
LoggerContext context = (org.apache.logging.log4j.core.LoggerContext) LogManager.getContext(false);
String pathLocation = ConectingClass.getFolderPath();
File file = new File(pathLocation + File.separator + loggerName);
context.setConfigLocation(file.toURI());
if(logger.isDebugEnabled()) {
logger.debug("Logger initialized");
}
}