Hi, Andrey, I have faced this problem too. I'd suggest introducing new logger for tests instead of extending API of *GridStringLogger*.
The new logger should be some kind of *listened*, for example with the folowing API: void addListener(String pattern, CountDownLatch latch); void addListener(IgniteInClosure<String> lsnr); This approach reduces memory load in comparison with *GridStringLogger*. Just for example these should demonstrate my idea, *listened logger* - [1], *listener* - [2]: [1] https://github.com/apache/ignite/blob/master/modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/junits/logger/ListenedGridTestLog4jLogger.java [2] https://github.com/apache/ignite/blob/master/modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/junits/IgniteCompatibilityAbstractTest.java#L304 On Wed, May 23, 2018 at 11:46 AM, Andrey Kuznetsov <[email protected]> wrote: > Folks, > > While testing my PR on TeamCity I found a floating test failure. Sometimes > we use {{GridStringLogger}} test facility to capture Ignite node logs and > then check whether some marker strings exist in log output. Since logger's > buffer is limited (32K chars by default) unrelated changes that add more > logging can damage a test. > > I propose to add some stuff to {{GridStringLogger}} in order to catch > preset marker strings during logging, then we will not depend on buffer > size. > > Thoughts? > > -- > Best regards, > Andrey Kuznetsov. -- Best Regards, Vyacheslav D.
