I had the same problem and I think I know why J

 

Solaris does interrupt IO blocked thread which then causes the OutputStreamAppender to catch the IOException in line 218 (version 0.9.24). I actually run version 0.9.18 but this part has not change so I guess it will behave the same way.

 

If we look at http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4385444 InterruptedIOException should not be required by platform specification (sol)

And log4j https://issues.apache.org/bugzilla/show_bug.cgi?id=44157 InterruptedIOException ignored by log4j

 

I think it should be solved the same why

 

    } catch (InterruptedIOException iioe){

      //give the thread a changes to act on interruption and then carry on

      Thread.currentThread().interrupt();

    } catch (IOException ioe) {

      // as soon as an exception occurs, move to non-started state

      // and add a single ErrorStatus to the SM.

     

      this.started = false;

      addStatus(new ErrorStatus("IO failure in appender", this, ioe));

    }

 

 

I could not find the jira entry mentioned in this thread therefore I write it here J

 

BTY the jvm option –XX:-UseVMInterruptibleIO does prevent the interruption by solaris but that’s only a workaround and not solving the problem ;)

 

Cheers Andy