You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Ralph Goers (Jira)" <ji...@apache.org> on 2021/03/18 15:44:00 UTC

[jira] [Comment Edited] (LOG4J2-1902) log4j2-web does not disable shutdownHook

    [ https://issues.apache.org/jira/browse/LOG4J2-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17304076#comment-17304076 ] 

Ralph Goers edited comment on LOG4J2-1902 at 3/18/21, 3:43 PM:
---------------------------------------------------------------

 
{code:java}
public void start(final Configuration config) {
   LOGGER.debug("Starting LoggerContext[name={}, {}] with configuration {}...",   getName(), this, config);
   if (configLock.tryLock()) {
       try {
         if (this.isInitialized() || this.isStopped()) {
             if (this.configuration.isShutdownHookEnabled()) {
                 setUpShutdownHook(); 
             }
             this.setStarted();
          }
       } finally { 
          configLock.unlock(); 
       }
   }
   setConfiguration(config);
   LOGGER.debug("LoggerContext[name={}, {}] started OK with configuration {}.", getName(), this, config);
 }
{code}
 

from this code context first check default configuration shutdown hook property and enable thread even we disable in configuration. after that default configuration is stopped but shutdown hook service continues to work


was (Author: asakit):
    public void start(final Configuration config) {
        LOGGER.debug("Starting LoggerContext[name={}, {}] with configuration {}...", getName(), this, config);
        if (configLock.tryLock()) {
            try {
                if (this.isInitialized() || this.isStopped()) {
                    if (this.configuration.isShutdownHookEnabled()) {
                        setUpShutdownHook();
                    }
                    this.setStarted();
                }
            } finally {
                configLock.unlock();
            }
        }
        setConfiguration(config);
        LOGGER.debug("LoggerContext[name={}, {}] started OK with configuration {}.", getName(), this, config);
    }


from this code context first check default configuration shutdown hook property and enable thread even we disable in configuration. after that default configuration is stopped but shutdown hook service continues to work

> log4j2-web does not disable shutdownHook
> ----------------------------------------
>
>                 Key: LOG4J2-1902
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1902
>             Project: Log4j 2
>          Issue Type: Question
>    Affects Versions: 2.5, 2.8.2
>         Environment: Mac OS,
> JDK 1.8
> log4j2 2.5 and 2.8.2
>            Reporter: prayagupd
>            Priority: Major
>
> I'm using log4j2 2.8.2 and with log4j-web, the shutdown hook is supposed to disabled automatically. 
> {code:xml}
>     <dependency>
>       <groupId>org.apache.logging.log4j</groupId>
>       <artifactId>log4j-web</artifactId>
>       <version>2.8.2</version>
>       <scope>compile</scope>
>     </dependency>
> {code}
> On trace mode, I still see the log saying its enabled, 
> {code}
> 2017-05-07 14:56:34,762 ScalaTest-run DEBUG Reconfiguration complete for context[name=1b4fb997] at URI /Users/prayagupd/possibilities/programming/event-streaming/target/test-classes/log4j2.json (org.apache.logging.log4j.core.LoggerContext@205b132e) with optional ClassLoader: null
> 2017-05-07 14:56:34,762 ScalaTest-run DEBUG Shutdown hook enabled. Registering a new one.
> 2017-05-07 14:56:34,762 ScalaTest-run DEBUG LoggerContext[name=1b4fb997, org.apache.logging.log4j.core.LoggerContext@205b132e] started OK.
> {code}
> The log4j2 config, 
> {code:javascript}
> {
>   "configuration": {
>     "name": "logggg",
>     "status" : "trace",
>     "shutdownHookEnabled" : false,
>     "appenders": {
>       "RollingFile": {
>         "name": "rollingStone",
>         "fileName": "event-consumer-specs.log",
>         "filePattern": "event-consumer-specs-%d{MM-dd-yy-HH-mm-ss}-%i.log",
>         "immediateFlush" : true,
>         "JSONLayout": {
>           "complete": false,
>           "compact": true,
>           "eventEol": true
>         },
>         "SizeBasedTriggeringPolicy": {
>           "size": "10 MB"
>         },
>         "DefaultRolloverStrategy": {
>           "max": "10"
>         }
>       }
>     },
>     "loggers": {
>       "root": {
>         "level": "debug",
>         "appender-ref": {
>           "ref": "rollingStone"
>         }
>       }
>     }
>   }
> }
> {code}
> I want to disable the shutdown hook, as I'm having trouble in tomcat 7, websphere 8, as app logs nothing to the file. The way I'm making it work is restarting the application container, which is causing downtime to other services running on the same container.
> The doc https://logging.apache.org/log4j/2.x/manual/webapp.html says log4j2-web jar is what disables the shutdown hook but not working for me.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)