Search in sources :

Example 1 with Logger

use of org.neo4j.logging.Logger in project neo4j by neo4j.

the class NeoStoreDataSourceTest method shouldLogCorrectTransactionLogDiagnosticsForTransactionsInOldestLog.

@Test
public void shouldLogCorrectTransactionLogDiagnosticsForTransactionsInOldestLog() throws Exception {
    // GIVEN
    long logVersion = 2, prevLogLastTxId = 45;
    NeoStoreDataSource dataSource = neoStoreDataSourceWithLogFilesContainingLowestTxId(logWithTransactions(logVersion, prevLogLastTxId));
    AssertableLogProvider logProvider = new AssertableLogProvider();
    Logger logger = logProvider.getLog(getClass()).infoLogger();
    // WHEN
    Diagnostics.TRANSACTION_RANGE.dump(dataSource, logger);
    // THEN
    logProvider.assertContainsMessageContaining("transaction " + (prevLogLastTxId + 1));
    logProvider.assertContainsMessageContaining("version " + logVersion);
}
Also used : Logger(org.neo4j.logging.Logger) AssertableLogProvider(org.neo4j.logging.AssertableLogProvider) Test(org.junit.Test)

Example 2 with Logger

use of org.neo4j.logging.Logger in project neo4j by neo4j.

the class NeoStoreDataSourceTest method shouldLogCorrectTransactionLogDiagnosticsForTransactionsInSecondOldestLog.

@Test
public void shouldLogCorrectTransactionLogDiagnosticsForTransactionsInSecondOldestLog() throws Exception {
    // GIVEN
    long logVersion = 2, prevLogLastTxId = 45;
    NeoStoreDataSource dataSource = neoStoreDataSourceWithLogFilesContainingLowestTxId(logWithTransactionsInNextToOldestLog(logVersion, prevLogLastTxId));
    AssertableLogProvider logProvider = new AssertableLogProvider();
    Logger logger = logProvider.getLog(getClass()).infoLogger();
    // WHEN
    Diagnostics.TRANSACTION_RANGE.dump(dataSource, logger);
    // THEN
    logProvider.assertContainsMessageContaining("transaction " + (prevLogLastTxId + 1));
    logProvider.assertContainsMessageContaining("version " + (logVersion + 1));
}
Also used : Logger(org.neo4j.logging.Logger) AssertableLogProvider(org.neo4j.logging.AssertableLogProvider) Test(org.junit.Test)

Example 3 with Logger

use of org.neo4j.logging.Logger in project neo4j by neo4j.

the class NeoStoreDataSourceTest method shouldLogCorrectTransactionLogDiagnosticsForNoTransactionLogs.

@Test
public void shouldLogCorrectTransactionLogDiagnosticsForNoTransactionLogs() throws Exception {
    // GIVEN
    NeoStoreDataSource dataSource = neoStoreDataSourceWithLogFilesContainingLowestTxId(noLogs());
    AssertableLogProvider logProvider = new AssertableLogProvider();
    Logger logger = logProvider.getLog(getClass()).infoLogger();
    // WHEN
    Diagnostics.TRANSACTION_RANGE.dump(dataSource, logger);
    // THEN
    logProvider.assertContainsMessageContaining("No transactions");
}
Also used : Logger(org.neo4j.logging.Logger) AssertableLogProvider(org.neo4j.logging.AssertableLogProvider) Test(org.junit.Test)

Example 4 with Logger

use of org.neo4j.logging.Logger in project neo4j by neo4j.

the class MonitorLoggingExtension method init.

@Override
public void init() throws Throwable {
    Set<Map.Entry<Object, Object>> classes = props.entrySet();
    if (classes.isEmpty()) {
        return;
    }
    final Map<Class<?>, Logger> clazzez = new HashMap<>(classes.size());
    for (Map.Entry<Object, Object> entry : classes) {
        String className = (String) entry.getKey();
        String logLevel = (String) entry.getValue();
        Class clazz;
        try {
            clazz = getClass().getClassLoader().loadClass(className);
        } catch (ClassNotFoundException ex) {
            log.warn("When trying to add a logging monitor, not able to load class " + className, ex);
            continue;
        }
        Log classLog = logService.getInternalLog(clazz);
        Logger logger;
        switch(logLevel) {
            case "DEBUG":
                logger = classLog.debugLogger();
                break;
            case "INFO":
                logger = classLog.infoLogger();
                break;
            case "WARN":
                logger = classLog.warnLogger();
                break;
            case "ERROR":
                logger = classLog.errorLogger();
                break;
            default:
                log.warn("When trying to add a logging monitor for %s not able to understand the log level, got %s", className, logLevel);
                continue;
        }
        clazzez.put(clazz, logger);
    }
    if (clazzez.isEmpty()) {
        return;
    }
    LoggingListener listener = new LoggingListener(clazzez);
    monitors.addMonitorListener(listener, listener.predicate);
}
Also used : HashMap(java.util.HashMap) Log(org.neo4j.logging.Log) Logger(org.neo4j.logging.Logger) Map(java.util.Map) HashMap(java.util.HashMap)

Example 5 with Logger

use of org.neo4j.logging.Logger in project neo4j by neo4j.

the class BackupServiceIT method backupsShouldBeMentionedInServerConsoleLog.

@Test
public void backupsShouldBeMentionedInServerConsoleLog() throws Throwable {
    // given
    defaultBackupPortHostParams();
    Config config = dbRule.getConfigCopy();
    dbRule.setConfig(OnlineBackupSettings.online_backup_enabled, "false");
    Config withOnlineBackupDisabled = dbRule.getConfigCopy();
    createAndIndexNode(dbRule, 1);
    final Log log = mock(Log.class);
    LogProvider logProvider = new LogProvider() {

        @Override
        public Log getLog(Class loggingClass) {
            return log;
        }

        @Override
        public Log getLog(String name) {
            return log;
        }
    };
    Logger logger = mock(Logger.class);
    when(log.infoLogger()).thenReturn(logger);
    LogService logService = mock(LogService.class);
    when(logService.getInternalLogProvider()).thenReturn(logProvider);
    Dependencies dependencies = new Dependencies(dbRule.getDependencyResolver());
    dependencies.satisfyDependencies(config, monitors, logService);
    OnlineBackupKernelExtension backup = (OnlineBackupKernelExtension) new OnlineBackupExtensionFactory().newInstance(new SimpleKernelContext(storeDir, DatabaseInfo.UNKNOWN, dependencies), DependenciesProxy.dependencies(dependencies, OnlineBackupExtensionFactory.Dependencies.class));
    backup.start();
    // when
    backupService().doFullBackup(BACKUP_HOST, backupPort, backupDir, ConsistencyCheck.NONE, withOnlineBackupDisabled, BackupClient.BIG_READ_TIMEOUT, false);
    // then
    verify(logger).log("Full backup started...");
    verify(logger).log("Full backup finished.");
    // when
    createAndIndexNode(dbRule, 2);
    backupService().doIncrementalBackupOrFallbackToFull(BACKUP_HOST, backupPort, backupDir, ConsistencyCheck.NONE, withOnlineBackupDisabled, BackupClient.BIG_READ_TIMEOUT, false);
    backup.stop();
    // then
    verify(logger).log("Incremental backup started...");
    verify(logger).log("Incremental backup finished.");
}
Also used : NullLogProvider(org.neo4j.logging.NullLogProvider) FormattedLogProvider(org.neo4j.logging.FormattedLogProvider) LogProvider(org.neo4j.logging.LogProvider) Log(org.neo4j.logging.Log) Config(org.neo4j.kernel.configuration.Config) SimpleKernelContext(org.neo4j.kernel.impl.spi.SimpleKernelContext) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Dependencies(org.neo4j.kernel.impl.util.Dependencies) Logger(org.neo4j.logging.Logger) LogService(org.neo4j.kernel.impl.logging.LogService) Test(org.junit.Test)

Aggregations

Logger (org.neo4j.logging.Logger)8 Test (org.junit.Test)5 AssertableLogProvider (org.neo4j.logging.AssertableLogProvider)4 Log (org.neo4j.logging.Log)3 HashMap (java.util.HashMap)2 Map (java.util.Map)1 AtomicReference (java.util.concurrent.atomic.AtomicReference)1 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)1 NeoStoreDataSource (org.neo4j.kernel.NeoStoreDataSource)1 Config (org.neo4j.kernel.configuration.Config)1 CoreAPIAvailabilityGuard (org.neo4j.kernel.impl.coreapi.CoreAPIAvailabilityGuard)1 LogService (org.neo4j.kernel.impl.logging.LogService)1 QueryExecutionEngine (org.neo4j.kernel.impl.query.QueryExecutionEngine)1 SimpleKernelContext (org.neo4j.kernel.impl.spi.SimpleKernelContext)1 DataSourceManager (org.neo4j.kernel.impl.transaction.state.DataSourceManager)1 Dependencies (org.neo4j.kernel.impl.util.Dependencies)1 Monitors (org.neo4j.kernel.monitoring.Monitors)1 FormattedLogProvider (org.neo4j.logging.FormattedLogProvider)1 LogProvider (org.neo4j.logging.LogProvider)1 NullLogProvider (org.neo4j.logging.NullLogProvider)1