日志
OrientDB使用JVM中的Java日志框架。OrientDB的默认日志格式(通过OLogFormatter
类管理)是:
<date> <level> <message> [<requester>]
说明:
<date>
日志的日期,格式:yyyy-MM-dd HH:mm:ss:SSS
<level>
日志的级别(看下面可能的级别see below for all the available levels),输出5个字符<message>
日志的文本,大小任意[<class>]
记录日志的类(可选)
支持的日志级别包含在JRE类 java.util.logging.Level:
- SEVERE (最高)
- WARNING
- INFO
- CONFIG
- FINE
- FINER
- FINEST (最低)
默认安装带有2个logger:
- console, 启动应用/服务器时,脚本/命令行的输出。 可以通过设置变量
log.console.level
修改。 - file, 日志文件的输出。可以通过设置
log.file.level
修改。
配置文件
日志策略可以使用Java语法进行设置: Java Logging configuration.
orientdb-server-log.properties:
# 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
通过设置系统属性"java.util.logging.config.file"告诉JVM配置文件在哪。例如:
$ 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设置。例如:
public void main(String[] args){
System.setProperty("log.console.level", "FINE");
...
}
远程服务器
通过URL执行HTTP POST请求: /server/log.<type>/<level>
. Where:
<type>
可以是"console"或者"file"<level>
支持的日志级别
例子
使用cURL向OrientDB服务器,发送HTTP POST请求。需要传递服务器用户"root"及对应密码。
打开命令行Tracing级别:
curl -u root:root -X POST http://localhost:2480/server/log.console/FINEST
打开文件Tracing级别:
curl -u root:root -X POST http://localhost:2480/server/log.file/FINEST
安装日志格式
OrientDB服务器使用自己的LogFormatter。使用和你的应用一样的LogFormatter,需要调用:
OLogManager.installCustomFormatter();
LogFormatter通过服务器自动安装。设置orientdb.installCustomFormatter
为false
可以禁止。 例如:
java ... -Dorientdb.installCustomFormatter=false=false ...