Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何禁用neo4j python驱动程序的详细日志记录_Python_Neo4j - Fatal编程技术网

如何禁用neo4j python驱动程序的详细日志记录

如何禁用neo4j python驱动程序的详细日志记录,python,neo4j,Python,Neo4j,我尝试将日志记录更改为neo4j python模块的控制台,以便仅显示关键消息,如下所示: neo4j_log = logging.getLogger("neo4j.bolt") neo4j_log.setLevel(logging.CRITICAL) 但我仍然得到了每一个成功节点创建的详细日志记录。我正在尝试从Oracle读取数十万的数据,我确信这对性能没有帮助 [#F2D8] S: SUCCESS {'stats': {'labels-added': 1, 'node

我尝试将日志记录更改为neo4j python模块的控制台,以便仅显示关键消息,如下所示:

neo4j_log = logging.getLogger("neo4j.bolt")
neo4j_log.setLevel(logging.CRITICAL)
但我仍然得到了每一个成功节点创建的详细日志记录。我正在尝试从Oracle读取数十万的数据,我确信这对性能没有帮助

[#F2D8]  S: SUCCESS {'stats': {'labels-added': 1, 'nodes-created': 1, 'properties-set': 3}, 'type': 'w', 't_last': 0, 'db': 'neo4j'}
[#F2D8]  S: SUCCESS {'t_first': 0, 'fields': [], 'qid': 539}
[#F2D8]  C: RUN 'CREATE (p:Product) SET p.id = $id, p.preferred_trade_name = $ppn, p.dosage_form=$df ' {'id': 1221, 'ppn': 'product_x', 'df': 'Blank Values'} {}
Oracle部分并不相关,因为这是一个CYPHER日志输出,但我基本上是这样做的:

def create_graph_nodes_marketing_applications(tx):
    print("Processing marketing application")
    sql = """
            SELECT VERSION_SEQ, DRUG_PRODUCT_ID,  REGISTRATION_SET_ID, REGISTRATION_UID, DOSSIER_REF_NUMBER AS REG_NAME_DETAILS,
                REGISTRATION_NUMBER, NEXT_RENEWAL_DATE, 
                CASE WHEN RENEWAL_NOT_REQUIRED = 'Y' Then 'No' ELSE CASE WHEN RENEWAL_NOT_REQUIRED = 'N' Then 'Yes' ELSE NULL END END AS RENEWAL_REQUIRED,
                APPLICATION_TYPE,
                APPLICATION_STAGE,
                COUNTRY_DISPLAY_LABEL,
                DISTRIBUTION_TYPE AS PROCEDURE_TYPE,
                DATA_STATE
                FROM DIM_REGISTRATION_SET WHERE DATA_STATE = 'C' AND FLAG_PASSIVE='0'
                AND APPLICATION_TYPE = 'Marketing Application'                
                
        """
    cursor_ariel.execute(sql)
    for row in cursor_ariel.fetchall():
        r = reg(cursor_ariel, row, False)

        tx.run("""
               CREATE (m:MarketingApplication:Registration) 
               SET  m.id                    =   $id,
                 
                    m.REGISTRATION_SET_ID   =   $rsid,
                    m.DRUG_PRODUCT_ID       =   $dpid,
                    m.REGISTRATION_UID      =   $ruid,
                    m.COUNTRY               =   $country,
                    m.PROCEDURE_TYPE        =   $proc,
                    m.REG_NAME_DETAILS      =   $rnd,
                    m.APPLICATION_TYPE      =   $apptype,
                    m.APPLICATION_STAGE     =   $appstage,
                    m.DATA_STATE            =   $state, 
                    m.RENEWAL_REQUIRED      =   $renewal,
                    m.NEXT_RENEWAL_DATE     =   $renewal_date""",
                    id                      =   r.VERSION_SEQ,
                    rsid                    =   r.REGISTRATION_SET_ID,
                    dpid                    =   r.DRUG_PRODUCT_ID,
                    ruid                    =   r.REGISTRATION_UID,
                    country                 =   r.COUNTRY_DISPLAY_LABEL,
                    proc                    =   r.PROCEDURE_TYPE,
                    rnd                     =   r.REG_NAME_DETAILS,
                    apptype                 =   r.APPLICATION_TYPE,
                    appstage                =   r.APPLICATION_STAGE,
                    state                   =   r.DATA_STATE,
                    renewal                 =   r.RENEWAL_REQUIRED,
                    renewal_date            =   r.NEXT_RENEWAL_DATE
               )

基于此,我相信日志记录程序名为“neo4j”。

感谢您发布您的问题!您提到了Neo4j驱动程序并从Oracle读取数据,因此我不确定是否完全理解您的设置。您介意添加一些详细信息吗?我正在使用cx_Oracle在游标中读取数据,迭代每一行,并在neo4j中执行CREATE语句来创建节点,使用每个Oracle行的详细信息。Oracle部分与此无关,更重要的是neo4j驱动程序在每次成功的CYPHER事务中都会向控制台发送消息。我不是100%确定,但如果您将记录器名称更改为“neo4j”,它会工作吗?另外,您使用的驱动程序版本是什么?根据pythonjustneo4j的说法,4.1.dev0似乎可以做到这一点,谢谢;-)