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