如何禁用登录spring数据neo4j

Posted

技术标签:

【中文标题】如何禁用登录spring数据neo4j【英文标题】:how to disable log in spring data neo4j 【发布时间】:2019-01-31 20:22:18 【问题描述】:

我从 spring neo4j 收到不需要的查询日志,如下所示

25-08-2018 23:47:07.597 [restartedMain] INFO  o.n.o.d.bolt.request.BoltRequest.executeRequest - 
Request: MATCH (n:`OntoCategory`) WHERE n.`name` =  `name_0`  WITH n RETURN n,[ [ (n)-[r_h1:`HasSynonym`]->(o1:`OntoSynonyms`) | [ r_h1, o1 ] ] ], ID(n) with params name_0=Breakfast Items
25-08-2018 23:47:07.610 [restartedMain] INFO  o.n.o.d.bolt.request.BoltRequest.executeRequest -

我在 application.properties 中使用以下日志记录属性

有什么我错过的补充。我正在使用 Spring Boot 2.0.3 版

logging.level.root=info
logging.path=path
logging.file=$logging.path/log.log
logging.pattern.file=%ddd-MM-yyyy HH:mm:ss.SSS [%thread] %-5level %logger36.%M - %msg%n
logging.pattern.console=%ddd-MM-yyyy HH:mm:ss.SSS [%thread] %-5level %logger36.%M - %n%highlight%msg%n

以下两个日志属性是从post 添加的,这不会改变任何内容

log4j.category.org.springframework.data.neo4j=DEBUG
log4j.category.org.springframework.data.neo4j.support.query=DEBUG`

【问题讨论】:

【参考方案1】:

密码查询的日志记录由 neo4j-ogm 中的 BoltRequest 类完成。因此,您应该在此处更改日志记录级别,如下所示(以保持其他日志记录配置不受影响):

logging.level.org.neo4j.ogm.drivers.bolt.request.BoltRequest=WARN

但是请注意,由于最近根据您的请求更改了此类中的日志记录级别(根据#530,提交f37a78e - 密码查询的日志记录级别降级为调试),如果您升级您的在您的项目中安装 SDN,您可能只是自动摆脱了查询日志,而无需对日志配置进行此调整

(我的项目中目前有 neo4g-ogm-bolt-driver-3.1.4.jar,但我没有记录查询)。

【讨论】:

【参考方案2】:

log4j.category.org.springframework.data.neo4j.support.query=DEBUG

日志配置中的此条目记录查询。为避免将查询记录到日志文件中,请删除此条目。

【讨论】:

【参考方案3】:

既然你有这个配置:

logging.level.root=info

根日志级别将是 info,但如果另一个级别不同,它将为此日志覆盖它。

所以,要有以下行为:

如果 Neo4j 日志的级别为 WARN 或更高,则将显示它(因此,没有请求日志) 如果应用中的所有其他日志的级别为 INFO 或更高,则将显示它

你想要的是这样做:

logging.level.root=info
log4j.category.org.springframework.data.neo4j=WARN
log4j.category.org.springframework.data.neo4j.support.query=WARN

【讨论】:

【参考方案4】:

通过在 application.properties 中添加这一行查询不会登录控制台。它的工作

logging.level.org.neo4j.ogm.drivers=OFF

【讨论】:

【参考方案5】:

如果您将log4j log level 设置为DEBUG,则所有DEBUG 及以上级别的日志消息(包括INFO)都将被记录。

为防止记录INFO 级别的消息,您应该将日志级别设置为WARN(或更高级别)。

【讨论】:

它会危及我自己的应用程序日志。 您的应用程序自己的日志条目不会记录到“org.springframework.data.neo4j”或“org.springframework.data.neo4j.support.query”类别,所以应该没有问题(除非您想查看 Spring 库代表您完成的一些 DEBUG/INFO 日志记录)。

以上是关于如何禁用登录spring数据neo4j的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用 Spring Security 的登录屏幕? [复制]

如何在使用 Spring Boot 的 JWT 令牌时禁用同一用户帐户的多个登录

java spring security,如果登录用户被禁用,如何知道密码是不是错误

尽管存在弹簧安全依赖性,如何禁用弹簧安全登录页面? [复制]

如何在不杀死 VM 的情况下关闭和重新打开 Spring Data Neo4J 上下文

如何使用Spring Boot获取节点链(Neo4j)