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