OrientDB - 日志记录
OrientDB 使用与 Java 虚拟机捆绑在一起的 Java 日志记录框架。OrientDB 的默认日志格式由 OLogFormatter 类管理。
以下语句是日志记录命令的基本语法。
<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(最低值)
默认情况下,安装了两个记录器 −
Console,作为启动应用程序/服务器的 shell/命令提示符的输出。可以通过设置变量"log.console.level"进行更改。
File,作为日志文件的输出。可以通过设置'log.file.level'进行更改。
配置日志记录
可以使用遵循 Java 的文件配置日志记录策略和策略。
语法 − Java 日志记录配置。
示例
从 orientdb-server-log.properties 文件中复制以下内容并将其放入 $ORIENTDB_HOME/config 文件中。
# 指定要在根记录器中创建的处理程序 #(所有记录器都是根记录器的子级) # 以下创建两个处理程序 handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler # 设置根记录器的默认日志记录级别 .level = ALL # 设置新 ConsoleHandler 实例的默认日志记录级别 java.util.logging.ConsoleHandler.level = INFO # 设置新 ConsoleHandler 实例的默认格式化程序 java.util.logging.ConsoleHandler.formatter = com.orientechnologies.common.log.OLogFormatter # 设置新 FileHandler 实例的默认日志记录级别 java.util.logging.FileHandler.level = INFO # 输出文件的命名样式 java.util.logging.FileHandler.pattern =../log/orient-server.log # 设置新FileHandler 实例 java.util.logging.FileHandler.formatter = com.orientechnologies.common.log.OLogFormatter # 限制输出文件的大小(以字节为单位): java.util.logging.FileHandler.limit = 10000000 # 通过在基本文件名后附加一个整数来循环输出文件的数量: 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> 可以是"console"或"file"
- <level> 是受支持的级别之一
示例
以下示例使用 cURL 针对 OrientDB 服务器执行 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