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