Search in sources :

Example 36 with Log

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

the class HotspotManagementSupport method getJMXServiceURL.

@Override
protected JMXServiceURL getJMXServiceURL(KernelData kernel) {
    JMXServiceURL url = null;
    Log log = kernel.graphDatabase().getDependencyResolver().resolveDependency(LogService.class).getInternalLog(HotspotManagementSupport.class);
    try {
        Class<?> cal = Class.forName("sun.management.ConnectorAddressLink");
        try {
            Method importRemoteFrom = cal.getMethod("importRemoteFrom", int.class);
            @SuppressWarnings("unchecked") Map<String, String> remote = (Map<String, String>) importRemoteFrom.invoke(null, 0);
            url = getUrlFrom(remote);
        } catch (NoSuchMethodException ex) {
        // handled by null check
        }
        if (url == null) {
            Method importFrom = cal.getMethod("importFrom", int.class);
            url = getUrlFrom((String) importFrom.invoke(null, 0));
        }
    } catch (InvocationTargetException e) {
        log.warn("Failed to load local JMX connection URL.", e.getTargetException());
    } catch (LinkageError | Exception e) {
        log.warn("Failed to load local JMX connection URL.", e);
    }
    // No previous connection server -- create one!
    if (url == null) {
        int port = 0;
        try {
            port = kernel.getConfig().get(setting("jmx.port", INTEGER, "0"));
        } catch (NumberFormatException ok) {
        // handled by 0-check
        }
        if (port > 0) {
            boolean useSSL = kernel.getConfig().get(setting("jmx.use_ssl", BOOLEAN, "false"));
            log.debug("Creating new MBean server on port %s%s", port, useSSL ? " using ssl" : "");
            JMXConnectorServer server = createServer(port, useSSL, log);
            if (server != null) {
                try {
                    server.start();
                } catch (IOException e) {
                    log.warn("Failed to start MBean server", e);
                    server = null;
                }
                if (server != null) {
                    try {
                        server.getMBeanServer().registerMBean(server, KernelProxy.createObjectName(kernel.instanceId(), "JMX Server"));
                    } catch (Exception e) {
                        log.warn("Failed to register MBean server as JMX bean", e);
                    }
                    url = server.getAddress();
                }
            }
        }
    }
    return url;
}
Also used : JMXServiceURL(javax.management.remote.JMXServiceURL) Log(org.neo4j.logging.Log) Method(java.lang.reflect.Method) IOException(java.io.IOException) InvocationTargetException(java.lang.reflect.InvocationTargetException) MalformedURLException(java.net.MalformedURLException) IOException(java.io.IOException) UnknownHostException(java.net.UnknownHostException) InvocationTargetException(java.lang.reflect.InvocationTargetException) JMXConnectorServer(javax.management.remote.JMXConnectorServer) HashMap(java.util.HashMap) Map(java.util.Map) LogService(org.neo4j.kernel.impl.logging.LogService)

Example 37 with Log

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

the class Slf4jLogProviderTest method shouldLogInfo.

@Test
public void shouldLogInfo() {
    Log log = logProvider.getLog(getClass());
    log.info("Holy info batman!");
    assertLogOccurred(Level.INFO, "Holy info batman!");
}
Also used : Log(org.neo4j.logging.Log) Test(org.junit.Test)

Example 38 with Log

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

the class Slf4jLogProviderTest method shouldLogError.

@Test
public void shouldLogError() {
    Log log = logProvider.getLog(getClass());
    log.error("Holy error batman!");
    assertLogOccurred(Level.ERROR, "Holy error batman!");
}
Also used : Log(org.neo4j.logging.Log) Test(org.junit.Test)

Example 39 with Log

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

the class Slf4jLogProviderTest method shouldLogDebug.

@Test
public void shouldLogDebug() {
    Log log = logProvider.getLog(getClass());
    log.debug("Holy debug batman!");
    assertLogOccurred(Level.DEBUG, "Holy debug batman!");
}
Also used : Log(org.neo4j.logging.Log) Test(org.junit.Test)

Example 40 with Log

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

the class Runner method createBatchingTransactionAppender.

private BatchingTransactionAppender createBatchingTransactionAppender(TransactionIdStore transactionIdStore, TransactionMetadataCache transactionMetadataCache, LogFile logFile) {
    Log log = NullLog.getInstance();
    KernelEventHandlers kernelEventHandlers = new KernelEventHandlers(log);
    DatabasePanicEventGenerator panicEventGenerator = new DatabasePanicEventGenerator(kernelEventHandlers);
    DatabaseHealth databaseHealth = new DatabaseHealth(panicEventGenerator, log);
    LogRotationImpl logRotation = new LogRotationImpl(NOOP_LOGROTATION_MONITOR, logFile, databaseHealth);
    return new BatchingTransactionAppender(logFile, logRotation, transactionMetadataCache, transactionIdStore, IdOrderingQueue.BYPASS, databaseHealth);
}
Also used : DatabaseHealth(org.neo4j.kernel.internal.DatabaseHealth) KernelEventHandlers(org.neo4j.kernel.internal.KernelEventHandlers) Log(org.neo4j.logging.Log) NullLog(org.neo4j.logging.NullLog) BatchingTransactionAppender(org.neo4j.kernel.impl.transaction.log.BatchingTransactionAppender) DatabasePanicEventGenerator(org.neo4j.kernel.impl.core.DatabasePanicEventGenerator) LogRotationImpl(org.neo4j.kernel.impl.transaction.log.rotation.LogRotationImpl)

Aggregations

Log (org.neo4j.logging.Log)91 Test (org.junit.Test)63 NullLog (org.neo4j.logging.NullLog)29 File (java.io.File)12 LogProvider (org.neo4j.logging.LogProvider)12 IOException (java.io.IOException)9 Config (org.neo4j.kernel.configuration.Config)9 BasicContext (org.neo4j.kernel.api.proc.BasicContext)8 Map (java.util.Map)7 NullLogProvider (org.neo4j.logging.NullLogProvider)7 PageCache (org.neo4j.io.pagecache.PageCache)6 CallableProcedure (org.neo4j.kernel.api.proc.CallableProcedure)6 LogService (org.neo4j.kernel.impl.logging.LogService)6 AssertableLogProvider (org.neo4j.logging.AssertableLogProvider)6 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)5 Monitors (org.neo4j.kernel.monitoring.Monitors)5 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)4 Before (org.junit.Before)4 GraphDatabaseService (org.neo4j.graphdb.GraphDatabaseService)4 FileSystemAbstraction (org.neo4j.io.fs.FileSystemAbstraction)4