- May 02, 2013
-
-
Ceki Gulcu authored
LOGBACK-848: refactored SocketAppenderBase
-
Ceki Gulcu authored
-
Ceki Gulcu authored
-
Ceki Gulcu authored
-
Ceki Gulcu authored
-
Ceki Gulcu authored
-
Ceki Gulcu authored
-
Ceki Gulcu authored
-
Ceki Gulcu authored
-
- May 01, 2013
-
-
Ceki Gulcu authored
-
Ceki Gulcu authored
-
Ceki Gulcu authored
-
Ceki Gulcu authored
invoke setRunner method in ConcurrentServerRunner so that InstrumentedConcurrentServerRunner's overriden impl can be used in tests
-
Ceki Gulcu authored
-
Carl Harris authored
-
Ceki Gulcu authored
-
Carl Harris authored
Since the appender now has some an asynchronous task, this is a best practice. Moreover, some test runners may not be able to terminate properly if there are non-daemon threads remaining in the JVM.
-
Ceki Gulcu authored
-
Carl Harris authored
Previously, we exited only when interrupted. But if the executor is shutting down, there's no reason for the receiver to try to continue running. This was a left over from when the receiver had its own executor service, and ExecutorService.shutdownNow was used to shut it down on stop().
-
Carl Harris authored
Previously, exited only on interrupt, but if the executor is shutting down, there's no reason for us to wait to be interrupted.
-
Carl Harris authored
-
Carl Harris authored
-
Carl Harris authored
-
Carl Harris authored
-
Carl Harris authored
-
Carl Harris authored
ExecutorService.shutdownNow returns the list of jobs that never executed, not the list of jobs that didn't terminate.
-
- Apr 30, 2013
-
-
Ceki Gulcu authored
-
Carl Harris authored
Conflicts: logback-core/src/main/java/ch/qos/logback/core/ContextBase.java
-
Carl Harris authored
Mutable fields in SocketAppenderBase were previously exposed as protected fields and modified by constructors in concrete subclasses. This commit improves encapsulation of the base class by exposing protected constructors for subclasses to invoke rather than directly exposing the fields. These new constructors are marked as deprecated, as the convenience constructors on the base classes (which are also deprecated) are the sole reason for their existence. A future release should remove all but the no-arg constructor from the base class and subclasses.
-
Carl Harris authored
SocketAppenderBase now uses SocketConnector for its (re-)connection logic, and uses an asynchronous task to dispatch events to the remote receiver. A configurable queue is utilized to relay logging events from the append method to the dispatch task. When the queue length is zero (the default), a SynchronousQueue is utilized, preserving the previous appender behavior. When the queue length is greater than zero, a bounded queue is utilized, allowing the appender to efficiently drop logging events when remote receiver (or network) cannot keep up with the rate of logging events delivered to the appender.
-
Carl Harris authored
These test classes were really testing SocketAppenderBase not SocketAppender, per se. The new implementation of SocketAppenderBase is significantly different and will require a new unit test suite.
-
Carl Harris authored
-
Carl Harris authored
-
Carl Harris authored
-
Carl Harris authored
Alternative approach for LOGBACK-849
-
Carl Harris authored
-
Ceki Gulcu authored
-
Carl Harris authored
Previously, the executor service used here was not consistent with a recent change to ContextBase (to allow more than one concurrent asynchronous task). This commit also ensures that the executor service is shut down when the valve is stopped.
-
Carl Harris authored
-
Carl Harris authored
Since ContextBase has never before implemented LifeCycle, there are lots of existing uses (in tests) that would need to be modified if calling the LifeCycle methods is made a strict requirement. By using a lazy initialization of executor service, we can allow existing uses to ignore the lifecycle methods, and focus our attention on those few cases where it calling the stop method really matters.
-