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>
可以是console
或file
<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