neo4j的examples之EmbeddedNeo4jWithCustomLogging.java

来源:互联网 发布:app服务器端开发 java 编辑:程序博客网 时间:2024/06/16 06:53

neo4j的examples之EmbeddedNeo4jWithCustomLogging.java

源码:

/* * Licensed to Neo Technology under one or more contributor * license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright * ownership. Neo Technology licenses this file to you under * the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */package org.neo4j.examples;import java.io.File;import java.io.IOException;import org.neo4j.graphdb.GraphDatabaseService;import org.neo4j.graphdb.factory.GraphDatabaseFactory;import org.neo4j.io.fs.FileUtils;import org.neo4j.logging.NullLog;import org.neo4j.logging.Log;import org.neo4j.logging.LogProvider;public class EmbeddedNeo4jWithCustomLogging{    private static final String DB_PATH = "target/neo4j-store";    private static GraphDatabaseService graphDb;    private static class MyCustomLogProvider implements LogProvider    {        public MyCustomLogProvider( Object output )        {        }        @Override        public Log getLog( Class loggingClass )        {            return NullLog.getInstance();        }        @Override        public Log getLog( String context )        {            return NullLog.getInstance();        }    }    public static void main( final String[] args ) throws IOException    {        FileUtils.deleteRecursively( new File( DB_PATH ) );        Object output = new Object();        // START SNIPPET: startDbWithLogProvider        LogProvider logProvider = new MyCustomLogProvider( output );        graphDb = new GraphDatabaseFactory().setUserLogProvider( logProvider ).newEmbeddedDatabase( DB_PATH );        // END SNIPPET: startDbWithLogProvider        shutdown();    }    private static void shutdown()    {        graphDb.shutdown();    }}

运行结果:

修改:

/* * Licensed to Neo Technology under one or more contributor * license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright * ownership. Neo Technology licenses this file to you under * the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. *///package n1;/** * @author xubo601450868 * 不删除,读取http://blog.csdn.net/xubo245/article/details/50033549创建的信息 * 查询所有节点和所有relationship *  * */import java.io.File;import java.io.IOException;import org.neo4j.cypher.ExecutionEngine;import org.neo4j.cypher.ExecutionResult;import org.neo4j.graphdb.GraphDatabaseService;import org.neo4j.graphdb.Node;import org.neo4j.graphdb.factory.GraphDatabaseFactory;import org.neo4j.io.fs.FileUtils;import org.neo4j.logging.NullLog;import org.neo4j.logging.Log;import org.neo4j.logging.LogProvider;public class EmbeddedNeo4jWithCustomLogging{    private static final String DB_PATH = "target/neo4j-hello-db";    private static GraphDatabaseService graphDb;    private static class MyCustomLogProvider implements LogProvider    {        public MyCustomLogProvider( Object output )        {        }        @Override        public Log getLog( Class loggingClass )        {            return NullLog.getInstance();        }        @Override        public Log getLog( String context )        {            return NullLog.getInstance();        }    }    public static void main( final String[] args ) throws IOException    {        //FileUtils.deleteRecursively( new File( DB_PATH ) );        Object output = new Object();        // START SNIPPET: startDbWithLogProvider        LogProvider logProvider = new MyCustomLogProvider( output );        graphDb = new GraphDatabaseFactory().setUserLogProvider( logProvider ).newEmbeddedDatabase( DB_PATH );        // END SNIPPET: startDbWithLogProvider        System.out.println("hello neo4j log");        //Node firstNode;        //firstNode = graphDb.createNode();        //firstNode.setProperty( "message", "Hello,scala " );        ExecutionEngine engine =new ExecutionEngine(graphDb,  logProvider);         ExecutionResult result = engine.execute("start n=node(*)  return n;");            System.out.println(result.dumpToString());            ExecutionResult result2 = engine.execute("start n=node(*) match (n)-[r]->() return r;");            System.out.println(result2.dumpToString());          shutdown();    }    private static void shutdown()    {        graphDb.shutdown();    }}

结果:

hello neo4j log+--------------------------------------+| n                                    |+--------------------------------------+| Node[0]{message:"Hello,scala "}      || Node[1]{message:"hello World!"}      || Node[2]{message:"hello World!1"}     || Node[3]{message:"hello World!2"}     || Node[4]{message:"hello World!3"}     || Node[5]{message:"hello World!4"}     || Node[6]{message:"hello World!5"}     || Node[7]{message:"hello World!6"}     || Node[8]{message:"hello World!7"}     || Node[9]{message:"hello World!8"}     || Node[10]{message:"hello World!9"}    || Node[11]{message:"hello World!10"}   || Node[12]{message:"hello World!11"}   || Node[13]{message:"hello World!12"}   || Node[14]{message:"hello World!13"}   || Node[15]{message:"hello World!14"}   || Node[16]{message:"hello World!15"}   || Node[17]{message:"hello World!16"}   || Node[18]{message:"hello World!17"}   || Node[19]{message:"hello World!18"}   || Node[20]{message:"hello World!19"}   || Node[21]{message:"hello World!20"}   || Node[22]{message:"hello World!21"}   || Node[23]{message:"hello World!22"}   || Node[24]{message:"hello World!23"}   || Node[25]{message:"hello World!24"}   || Node[26]{message:"hello World!25"}   || Node[27]{message:"hello World!26"}   || Node[28]{message:"hello World!27"}   || Node[29]{message:"hello World!28"}   || Node[30]{message:"hello World!29"}   || Node[31]{message:"hello World!30"}   || Node[32]{message:"hello World!31"}   || Node[33]{message:"hello World!32"}   || Node[34]{message:"hello World!33"}   || Node[35]{message:"hello World!34"}   || Node[36]{message:"hello World!35"}   || Node[37]{message:"hello World!36"}   || Node[38]{message:"hello World!37"}   || Node[39]{message:"hello World!38"}   || Node[40]{message:"hello World!39"}   || Node[41]{message:"hello World!40"}   || Node[42]{message:"hello World!41"}   || Node[43]{message:"hello World!42"}   || Node[44]{message:"hello World!43"}   || Node[45]{message:"hello World!44"}   || Node[46]{message:"hello World!45"}   || Node[47]{message:"hello World!46"}   || Node[48]{message:"hello World!47"}   || Node[49]{message:"hello World!48"}   || Node[50]{message:"hello World!49"}   || Node[51]{message:"hello World!50"}   || Node[52]{message:"hello World!51"}   || Node[53]{message:"hello World!52"}   || Node[54]{message:"hello World!53"}   || Node[55]{message:"hello World!54"}   || Node[56]{message:"hello World!55"}   || Node[57]{message:"hello World!56"}   || Node[58]{message:"hello World!57"}   || Node[59]{message:"hello World!58"}   || Node[60]{message:"hello World!59"}   || Node[61]{message:"hello World!60"}   || Node[62]{message:"hello World!61"}   || Node[63]{message:"hello World!62"}   || Node[64]{message:"hello World!63"}   || Node[65]{message:"hello World!64"}   || Node[66]{message:"hello World!65"}   || Node[67]{message:"hello World!66"}   || Node[68]{message:"hello World!67"}   || Node[69]{message:"hello World!68"}   || Node[70]{message:"hello World!69"}   || Node[71]{message:"hello World!70"}   || Node[72]{message:"hello World!71"}   || Node[73]{message:"hello World!72"}   || Node[74]{message:"hello World!73"}   || Node[75]{message:"hello World!74"}   || Node[76]{message:"hello World!75"}   || Node[77]{message:"hello World!76"}   || Node[78]{message:"hello World!77"}   || Node[79]{message:"hello World!78"}   || Node[80]{message:"hello World!79"}   || Node[81]{message:"hello World!80"}   || Node[82]{message:"hello World!81"}   || Node[83]{message:"hello World!82"}   || Node[84]{message:"hello World!83"}   || Node[85]{message:"hello World!84"}   || Node[86]{message:"hello World!85"}   || Node[87]{message:"hello World!86"}   || Node[88]{message:"hello World!87"}   || Node[89]{message:"hello World!88"}   || Node[90]{message:"hello World!89"}   || Node[91]{message:"hello World!90"}   || Node[92]{message:"hello World!91"}   || Node[93]{message:"hello World!92"}   || Node[94]{message:"hello World!93"}   || Node[95]{message:"hello World!94"}   || Node[96]{message:"hello World!95"}   || Node[97]{message:"hello World!96"}   || Node[98]{message:"hello World!97"}   || Node[99]{message:"hello World!98"}   || Node[100]{message:"hello World!99"}  || Node[101]{message:"hello World!100"} |+--------------------------------------+102 rows+-----------------------------------+| r                                 |+-----------------------------------+| :KNOWS[0]{message:"brave Neo4j "} |+-----------------------------------+1 row
0 0