@Override public void outputFileCreated( OutputStream newStream ) { FormattedLogProvider logProvider = internalLogBuilder.toOutputStream( newStream ); logProvider.getLog( StoreLogService.class ).info( "Opened new internal log file" ); rotationListener.accept( logProvider ); }
@Override public void rotationError( Exception e, OutputStream outStream ) { FormattedLogProvider logProvider = internalLogBuilder.toOutputStream( outStream ); logProvider.getLog( StoreLogService.class ).info( "Rotation of internal log file failed:", e ); } } );
@Override public void rotationCompleted( OutputStream newStream ) { FormattedLogProvider logProvider = internalLogBuilder.toOutputStream( newStream ); logProvider.getLog( StoreLogService.class ).info( "Rotated internal log file" ); }
@Test void shouldReturnSameLoggerForSameContext() { // Given FormattedLogProvider logProvider = FormattedLogProvider.toOutputStream( new ByteArrayOutputStream() ); // Then FormattedLog log = logProvider.getLog( "test context" ); assertThat( logProvider.getLog( "test context" ), sameInstance( log ) ); }
@Test void shouldReturnSameLoggerForSameClass() { // Given FormattedLogProvider logProvider = FormattedLogProvider.toOutputStream( new ByteArrayOutputStream() ); // Then FormattedLog log = logProvider.getLog( getClass() ); assertThat( logProvider.getLog( FormattedLogProviderTest.class ), sameInstance( log ) ); }
@Test void shouldSetLevelForLogWithMatchingContext() { // Given StringWriter writer = new StringWriter(); FormattedLogProvider logProvider = newFormattedLogProvider( writer, "java.io.StringWriter", Level.DEBUG ); // When FormattedLog stringWriterLog = logProvider.getLog( StringWriter.class ); FormattedLog otherClassLog = logProvider.getLog( PrintWriter.class ); FormattedLog matchingNamedLog = logProvider.getLog( "java.io.StringWriter" ); FormattedLog nonMatchingNamedLog = logProvider.getLog( "java.io.Foo" ); // Then assertThat( stringWriterLog.isDebugEnabled(), is( true ) ); assertThat( otherClassLog.isDebugEnabled(), is( false ) ); assertThat( matchingNamedLog.isDebugEnabled(), is( true ) ); assertThat( nonMatchingNamedLog.isDebugEnabled(), is( false ) ); }
@Test void shouldSetLevelForLogWithPartiallyMatchingContext() { // Given StringWriter writer = new StringWriter(); FormattedLogProvider logProvider = newFormattedLogProvider( writer, "java.io", Level.DEBUG ); // When FormattedLog stringWriterLog = logProvider.getLog( StringWriter.class ); FormattedLog printWriterLog = logProvider.getLog( PrintWriter.class ); FormattedLog otherClassLog = logProvider.getLog( Date.class ); FormattedLog matchingNamedLog = logProvider.getLog( "java.io.Foo" ); FormattedLog nonMatchingNamedLog = logProvider.getLog( "java.util.Foo" ); // Then assertThat( stringWriterLog.isDebugEnabled(), is( true ) ); assertThat( printWriterLog.isDebugEnabled(), is( true ) ); assertThat( otherClassLog.isDebugEnabled(), is( false ) ); assertThat( matchingNamedLog.isDebugEnabled(), is( true ) ); assertThat( nonMatchingNamedLog.isDebugEnabled(), is( false ) ); }
@Test void shouldLogWithAbbreviatedClassNameAsContext() { // Given StringWriter writer = new StringWriter(); FormattedLogProvider logProvider = newFormattedLogProvider( writer ); FormattedLog log = logProvider.getLog( StringWriter.class ); // When log.info( "Terminator 2" ); // Then assertThat( writer.toString(), endsWith( format( "INFO [j.i.StringWriter] Terminator 2%n" ) ) ); }
private GraphDatabaseDependencies dependencies = GraphDatabaseDependencies.newDependencies(); private Log log = FormattedLogProvider.toOutputStream( System.out ).getLog( getClass() ); private String serverAddress = "unknown address";
public File dumpState( Locks lm, LockWorker... workers ) throws IOException { FileOutputStream out = new FileOutputStream( file, false ); FormattedLogProvider logProvider = FormattedLogProvider.withoutAutoFlush().toOutputStream( out ); try { // * locks held by the lock manager lm.accept( new DumpLocksVisitor( logProvider.getLog( LockWorkFailureDump.class ) ) ); // * rag manager state; // * workers state Log log = logProvider.getLog( getClass() ); for ( LockWorker worker : workers ) { // - what each is doing and have up to now log.info( "Worker %s", worker ); } return file; } finally { out.flush(); out.close(); } } }
/** * Create page cache * @param fileSystem file system that page cache will be based on * @param pageCacheTracer global page cache tracer * @param pageCursorTracerSupplier supplier of thread local (transaction local) page cursor tracer that will provide * thread local page cache statistics * @param config page cache configuration * @param versionContextSupplier version context supplier * @param jobScheduler page cache job scheduler * @return created page cache instance */ public static PageCache createPageCache( FileSystemAbstraction fileSystem, PageCacheTracer pageCacheTracer, PageCursorTracerSupplier pageCursorTracerSupplier, Config config, VersionContextSupplier versionContextSupplier, JobScheduler jobScheduler ) { config.augmentDefaults( GraphDatabaseSettings.pagecache_memory, "8M" ); ZoneId logTimeZone = config.get( GraphDatabaseSettings.db_timezone ).getZoneId(); FormattedLogProvider logProvider = FormattedLogProvider.withZoneId( logTimeZone ).toOutputStream( System.err ); ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory( fileSystem, config, pageCacheTracer, pageCursorTracerSupplier, logProvider.getLog( PageCache.class ), versionContextSupplier, jobScheduler ); return pageCacheFactory.getOrCreatePageCache(); } }
private PageCache createPageCache( FileSystemAbstraction fs, PageCacheConfig pageCacheConfig, Config config ) { PageCacheTracer tracer = selectConfig( baseConfig.tracer, pageCacheConfig.tracer, PageCacheTracer.NULL ); PageCursorTracerSupplier cursorTracerSupplier = selectConfig( baseConfig.pageCursorTracerSupplier, pageCacheConfig.pageCursorTracerSupplier, PageCursorTracerSupplier.NULL ); config.augmentDefaults( GraphDatabaseSettings.pagecache_memory, "8M" ); FormattedLogProvider logProvider = FormattedLogProvider.toOutputStream( System.err ); initializeJobScheduler(); ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory( fs, config, tracer, cursorTracerSupplier, logProvider.getLog( PageCache.class ), EmptyVersionContextSupplier.EMPTY, jobScheduler ); return pageCacheFactory.getOrCreatePageCache(); } }
@Override public void outputFileCreated( OutputStream newStream ) { FormattedLogProvider logProvider = internalLogBuilder.toOutputStream( newStream ); logProvider.getLog( StoreLogService.class ).info( "Opened new internal log file" ); rotationListener.accept( logProvider ); }
@Override public void rotationCompleted( OutputStream newStream ) { FormattedLogProvider logProvider = internalLogBuilder.toOutputStream( newStream ); logProvider.getLog( StoreLogService.class ).info( "Rotated internal log file" ); }
@Override public void rotationError( Exception e, OutputStream outStream ) { FormattedLogProvider logProvider = internalLogBuilder.toOutputStream( outStream ); logProvider.getLog( StoreLogService.class ).info( "Rotation of internal log file failed:", e ); } } );
public static synchronized StatContext create( String name, long printEvery, boolean clearAfterPrint ) { return create( name, toOutputStream( System.out ).getLog( name ), printEvery, clearAfterPrint ); }
public static synchronized StatContext create( String name, long printEvery, boolean clearAfterPrint ) { return create( name, toOutputStream( System.out ).getLog( name ), printEvery, clearAfterPrint ); }
private GraphDatabaseDependencies dependencies = GraphDatabaseDependencies.newDependencies(); private Log log = FormattedLogProvider.toOutputStream( System.out ).getLog( getClass() ); private String serverAddress = "unknown address";
/** * Create page cache * @param fileSystem file system that page cache will be based on * @param pageCacheTracer global page cache tracer * @param pageCursorTracerSupplier supplier of thread local (transaction local) page cursor tracer that will provide * thread local page cache statistics * @param config page cache configuration * @param versionContextSupplier version context supplier * @param jobScheduler page cache job scheduler * @return created page cache instance */ public static PageCache createPageCache( FileSystemAbstraction fileSystem, PageCacheTracer pageCacheTracer, PageCursorTracerSupplier pageCursorTracerSupplier, Config config, VersionContextSupplier versionContextSupplier, JobScheduler jobScheduler ) { config.augmentDefaults( GraphDatabaseSettings.pagecache_memory, "8M" ); ZoneId logTimeZone = config.get( GraphDatabaseSettings.db_timezone ).getZoneId(); FormattedLogProvider logProvider = FormattedLogProvider.withZoneId( logTimeZone ).toOutputStream( System.err ); ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory( fileSystem, config, pageCacheTracer, pageCursorTracerSupplier, logProvider.getLog( PageCache.class ), versionContextSupplier, jobScheduler ); return pageCacheFactory.getOrCreatePageCache(); } }