OrientDB日志

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中的级别。 他们是 -

  • SEVERE (最高值)
  • WARNING
  • INFO
  • CONFIG
  • FINE
  • FINER
  • FINEST (最低值)

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

  • 控制台,作为启动应用程序/服务器的shell/命令提示符的输出。 可以通过设置变量'log.console.level'来改变。
  • 文件,作为日志文件的输出。 可以通过设置'log.file.level'进行更改。

配置日志记录

日志记录策略和策略可以使用Java之后的文件进行配置。

语法 - 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>可以是consolefile
  • <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