OrientDB - 日志记录


OrientDB 使用与 Java 虚拟机捆绑在一起的 Java 日志框架。OrientDB的默认日志格式由OLogFormatter类管理。

以下语句是logging命令的基本语法。

<date> <level> <message> [<requester>]

以下是有关上述语法中的选项的详细信息。

<date> - 这是以下格式的日志日期:yyyy-MM-dd HH:mm:ss:SSS。

<level> - 这是 5 个字符输出的日志记录级别。

<message> - 这是日志的文本,它可以是任意大小。

[<class>] - 记录的 Java 类(可选)。

支持的级别是 JRE 类 java.util.logging.Level 中包含的级别。他们是 -

  • 严重(最高值)
  • 警告
  • 信息
  • 配置
  • 美好的
  • 更细
  • 最好(最低值)

默认情况下,安装了两个记录器 -

  • Console,作为启动应用程序/服务器的 shell/命令提示符的输出。可以通过设置变量“log.console.level”来更改。

  • File,作为日志文件的输出。可以通过设置“log.file.level”来更改。

配置日志记录

可以使用 Java.xml 文件来配置日志记录策略和策略。

语法- Java 日志记录配置。

例子

从orientdb-server-log.properties文件中复制以下内容并将其放入$ORIENTDB_HOME/config文件中。

# Specify the handlers to create in the root logger 
# (all loggers are children of the root logger) 
# The following creates two handlers 
handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler 
# Set the default logging level for the root logger 
.level = ALL 
 
# Set the default logging level for new ConsoleHandler instances 
java.util.logging.ConsoleHandler.level = INFO 
# Set the default formatter for new ConsoleHandler instances 
java.util.logging.ConsoleHandler.formatter = 
   com.orientechnologies.common.log.OLogFormatter 
 
# Set the default logging level for new FileHandler instances 
java.util.logging.FileHandler.level = INFO 
# Naming style for the output file 
java.util.logging.FileHandler.pattern =../log/orient-server.log 
# Set the default formatter for new FileHandler instances 
java.util.logging.FileHandler.formatter = com.orientechnologies.common.log.OLogFormatter 
# Limiting size of output file in bytes: 
java.util.logging.FileHandler.limit = 10000000 
# Number of output files to cycle through, by appending an 
# integer to the base file name: 
java.util.logging.FileHandler.count = 10

要告诉 JVM 属性文件的位置,您需要为其设置“ java.util.logging.config.file ”系统属性。例如,使用以下命令 -

$ java -Djava.util.logging.config.file=mylog.properties ... 

设置日志记录级别

要更改日志记录级别而不修改日志记录配置,只需将“ log.console.level ”和“ log.file.level ”系统变量设置为请求的级别。

启动时记录日志

以下是以不同方式在启动级别设置日志记录的过程。

在服务器配置中

打开文件orientdb-server-config.xml并在 <properties> 部分内的文件末尾添加或更新这些行 -

<entry value = "fine" name = "log.console.level" /> 
<entry value = "fine" name = "log.file.level" /> 

在 Server.sh(或 .bat)脚本中

使用 java 的 -D 参数将系统属性“ log.console.level ”和“ log.file.level ”设置为您想要的级别。

$ java -Dlog.console.level = FINE ... 

运行时记录

以下是以不同方式在启动级别设置日志记录的过程。

通过使用Java代码

可以使用 System.setProperty() API 在启动时设置系统变量。以下代码片段是使用 Java 代码设置日志记录级别的语法。

public void main(String[] args){ 
   System.setProperty("log.console.level", "FINE"); 
   ... 
}

在远程服务器上

对 URL 执行 HTTP POST:/server/log.<type>/<level>,其中 -

  • <type> 可以是“控制台”或“文件”
  • <level> 是支持的级别之一

例子

以下示例使用cURL对 OrientDB Server 执行 HTTP POST 命令。使用了服务器的“root”用户和密码,替换为您自己的密码。

启用控制台的最佳跟踪级别 -

curl -u root:root -X POST http://localhost:2480/server/log.console/FINEST 

启用最精细的文件跟踪级别 -

curl -u root:root -X POST http://localhost:2480/server/log.file/FINEST