You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by pk...@apache.org on 2022/03/28 22:10:56 UTC
[logging-log4j2] 04/05: Avoid NPEs in edge cases for bridge clients.
This is an automated email from the ASF dual-hosted git repository.
pkarwasz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 675dbd9a37d76256f8ce43c80a0e50dbf90e6c8f
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Jan 24 13:42:24 2022 -0500
Avoid NPEs in edge cases for bridge clients.
---
.../org/apache/log4j/PropertyConfigurator.java | 30 ++++++++++++----------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/PropertyConfigurator.java b/log4j-1.2-api/src/main/java/org/apache/log4j/PropertyConfigurator.java
index 45a96d4..d522d57 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/PropertyConfigurator.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/PropertyConfigurator.java
@@ -644,20 +644,22 @@ public class PropertyConfigurator implements Configurator {
private void parseErrorHandler(final ErrorHandler errorHandler, final String errorHandlerPrefix, final Properties props,
final LoggerRepository loggerRepository) {
- final boolean rootRef = OptionConverter.toBoolean(OptionConverter.findAndSubst(errorHandlerPrefix + ROOT_REF, props), false);
- if (rootRef) {
- errorHandler.setLogger(loggerRepository.getRootLogger());
- }
- final String loggerName = OptionConverter.findAndSubst(errorHandlerPrefix + LOGGER_REF, props);
- if (loggerName != null) {
- final Logger logger = (loggerFactory == null) ? loggerRepository.getLogger(loggerName) : loggerRepository.getLogger(loggerName, loggerFactory);
- errorHandler.setLogger(logger);
- }
- final String appenderName = OptionConverter.findAndSubst(errorHandlerPrefix + APPENDER_REF_TAG, props);
- if (appenderName != null) {
- final Appender backup = parseAppender(props, appenderName);
- if (backup != null) {
- errorHandler.setBackupAppender(backup);
+ if (errorHandler != null && loggerRepository != null) {
+ final boolean rootRef = OptionConverter.toBoolean(OptionConverter.findAndSubst(errorHandlerPrefix + ROOT_REF, props), false);
+ if (rootRef) {
+ errorHandler.setLogger(loggerRepository.getRootLogger());
+ }
+ final String loggerName = OptionConverter.findAndSubst(errorHandlerPrefix + LOGGER_REF, props);
+ if (loggerName != null) {
+ final Logger logger = loggerFactory == null ? loggerRepository.getLogger(loggerName) : loggerRepository.getLogger(loggerName, loggerFactory);
+ errorHandler.setLogger(logger);
+ }
+ final String appenderName = OptionConverter.findAndSubst(errorHandlerPrefix + APPENDER_REF_TAG, props);
+ if (appenderName != null) {
+ final Appender backup = parseAppender(props, appenderName);
+ if (backup != null) {
+ errorHandler.setBackupAppender(backup);
+ }
}
}
}