You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/03/31 01:02:36 UTC

svn commit: r1583222 - in /logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core: LifeCycleStatus.java LoggerContext.java impl/Log4jContextFactory.java web/Log4jWebInitializerImpl.java

Author: mattsicker
Date: Sun Mar 30 23:02:36 2014
New Revision: 1583222

URL: http://svn.apache.org/r1583222
Log:
Extract Status enum to its own class.

Added:
    logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/LifeCycleStatus.java   (with props)
Modified:
    logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
    logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java
    logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/web/Log4jWebInitializerImpl.java

Added: logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/LifeCycleStatus.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/LifeCycleStatus.java?rev=1583222&view=auto
==============================================================================
--- logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/LifeCycleStatus.java (added)
+++ logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/LifeCycleStatus.java Sun Mar 30 23:02:36 2014
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.logging.log4j.core;
+
+/**
+ * Status of the LoggerContext.
+ */
+public enum LifeCycleStatus {
+    /** Initialized but not yet started. */
+    INITIALIZED,
+    /** In the process of starting. */
+    STARTING,
+    /** Is active. */
+    STARTED,
+    /** Shutdown is in progress. */
+    STOPPING,
+    /** Has shutdown. */
+    STOPPED
+}

Propchange: logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/LifeCycleStatus.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java?rev=1583222&r1=1583221&r2=1583222&view=diff
==============================================================================
--- logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java (original)
+++ logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java Sun Mar 30 23:02:36 2014
@@ -78,23 +78,7 @@ public class LoggerContext implements or
      */
     private Reference<Thread> shutdownThread;
 
-    /**
-     * Status of the LoggerContext.
-     */
-    public enum Status {
-        /** Initialized but not yet started. */
-        INITIALIZED,
-        /** In the process of starting. */
-        STARTING,
-        /** Is active. */
-        STARTED,
-        /** Shutdown is in progress. */
-        STOPPING,
-        /** Has shutdown. */
-        STOPPED
-    }
-
-    private volatile Status status = Status.INITIALIZED;
+    private volatile LifeCycleStatus status = LifeCycleStatus.INITIALIZED;
 
     private final Lock configLock = new ReentrantLock();
 
@@ -155,11 +139,11 @@ public class LoggerContext implements or
     public void start() {
         if (configLock.tryLock()) {
             try {
-                if (status == Status.INITIALIZED || status == Status.STOPPED) {
-                    status = Status.STARTING;
+                if (status == LifeCycleStatus.INITIALIZED || status == LifeCycleStatus.STOPPED) {
+                    status = LifeCycleStatus.STARTING;
                     reconfigure();
                     setUpShutdownHook();
-                    status = Status.STARTED;
+                    status = LifeCycleStatus.STARTED;
                 }
             } finally {
                 configLock.unlock();
@@ -174,9 +158,9 @@ public class LoggerContext implements or
     public void start(final Configuration config) {
         if (configLock.tryLock()) {
             try {
-                if (status == Status.INITIALIZED || status == Status.STOPPED) {
+                if (status == LifeCycleStatus.INITIALIZED || status == LifeCycleStatus.STOPPED) {
                     setUpShutdownHook();
-                    status = Status.STARTED;
+                    status = LifeCycleStatus.STARTED;
                 }
             } finally {
                 configLock.unlock();
@@ -216,10 +200,10 @@ public class LoggerContext implements or
     public void stop() {
         configLock.lock();
         try {
-            if (status == Status.STOPPED) {
+            if (status == LifeCycleStatus.STOPPED) {
                 return;
             }
-            status = Status.STOPPING;
+            status = LifeCycleStatus.STOPPING;
             tearDownShutdownHook();
             final Configuration prev = config;
             config = NULL_CONFIGURATION;
@@ -227,7 +211,7 @@ public class LoggerContext implements or
             prev.stop();
             externalContext = null;
             LogManager.getFactory().removeContext(this);
-            status = Status.STOPPED;
+            status = LifeCycleStatus.STOPPED;
         } finally {
             configLock.unlock();
 
@@ -252,13 +236,13 @@ public class LoggerContext implements or
         return name;
     }
 
-    public Status getStatus() {
+    public LifeCycleStatus getStatus() {
         return status;
     }
 
     @Override
     public boolean isStarted() {
-        return status == Status.STARTED;
+        return status == LifeCycleStatus.STARTED;
     }
 
     /**
@@ -294,7 +278,7 @@ public class LoggerContext implements or
      * Whether this collection is a copy of the underlying collection or not is undefined. Therefore, modify this collection at your own
      * risk.
      * </p>
-     * 
+     *
      * @return a collection of the current loggers.
      */
     public Collection<Logger> getLoggers() {

Modified: logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java?rev=1583222&r1=1583221&r2=1583222&view=diff
==============================================================================
--- logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java (original)
+++ logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java Sun Mar 30 23:02:36 2014
@@ -18,6 +18,7 @@ package org.apache.logging.log4j.core.im
 
 import java.net.URI;
 
+import org.apache.logging.log4j.core.LifeCycleStatus;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.Configuration;
 import org.apache.logging.log4j.core.config.ConfigurationFactory;
@@ -72,7 +73,7 @@ public class Log4jContextFactory impleme
                                     final boolean currentContext) {
         final LoggerContext ctx = selector.getContext(fqcn, loader, currentContext);
         ctx.setExternalContext(externalContext);
-        if (ctx.getStatus() == LoggerContext.Status.INITIALIZED) {
+        if (ctx.getStatus() == LifeCycleStatus.INITIALIZED) {
             ctx.start();
         }
         return ctx;
@@ -94,7 +95,7 @@ public class Log4jContextFactory impleme
         if (externalContext != null && ctx.getExternalContext() == null) {
             ctx.setExternalContext(externalContext);
         }
-        if (ctx.getStatus() == LoggerContext.Status.INITIALIZED) {
+        if (ctx.getStatus() == LifeCycleStatus.INITIALIZED) {
             if (source != null) {
                 ContextAnchor.THREAD_CONTEXT.set(ctx);
                 final Configuration config = ConfigurationFactory.getInstance().getConfiguration(source);
@@ -124,7 +125,7 @@ public class Log4jContextFactory impleme
         if (externalContext != null && ctx.getExternalContext() == null) {
             ctx.setExternalContext(externalContext);
         }
-        if (ctx.getStatus() == LoggerContext.Status.INITIALIZED) {
+        if (ctx.getStatus() == LifeCycleStatus.INITIALIZED) {
             if (configLocation != null || name != null) {
                 ContextAnchor.THREAD_CONTEXT.set(ctx);
                 final Configuration config = ConfigurationFactory.getInstance().getConfiguration(name, configLocation);

Modified: logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/web/Log4jWebInitializerImpl.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/web/Log4jWebInitializerImpl.java?rev=1583222&r1=1583221&r2=1583222&view=diff
==============================================================================
--- logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/web/Log4jWebInitializerImpl.java (original)
+++ logging/log4j/log4j2/branches/LOG4J2-577/log4j-core/src/main/java/org/apache/logging/log4j/core/web/Log4jWebInitializerImpl.java Sun Mar 30 23:02:36 2014
@@ -23,6 +23,7 @@ import javax.servlet.ServletContext;
 import javax.servlet.UnavailableException;
 
 import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LifeCycleStatus;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.logging.log4j.core.helpers.FileUtils;
@@ -116,7 +117,7 @@ final class Log4jWebInitializerImpl impl
                 this.selector = (NamedContextSelector) selector;
                 loggerContext = this.selector.locateContext(this.name, this.servletContext, configLocation);
                 ContextAnchor.THREAD_CONTEXT.set(loggerContext);
-                if (loggerContext.getStatus() == LoggerContext.Status.INITIALIZED) {
+                if (loggerContext.getStatus() == LifeCycleStatus.INITIALIZED) {
                     loggerContext.start();
                 }
                 ContextAnchor.THREAD_CONTEXT.remove();