OrientDB使用Java Logging Framework处理日志。使用orientdb-server-log.properties
配置日志。
输出文件路径指定为
java.util.logging.FileHandler.pattern=../log/orient-server.log
是否可以用环境/系统属性替换java.util.logging.FileHandler.pattern
的值?
答案 0 :(得分:0)
1)如果你在你的jvm中运行一个嵌入式服务器(例如:http://orientdb.com/docs/2.1/Embedded-Server.html),你用-Djava.util.logging.config.file = $ ORIENTDB_HOME / config / orientdb-server-启动java进程log.properties,你可以使用
String pattern = LogManager.getLogManager().
getProperty("java.util.logging.FileHandler.pattern" );
System.out.println("java.util.logging.FileHandler.pattern : "+pattern);
得到:
2017-01-27 16:34:28:291 INFO OrientDB Server is active v2.2.15. [OServer]
java.util.logging.FileHandler.pattern : ../log/orient-server.log
2)在脚本server.sh中有
ORIENTDB_LOG_CONF=$ORIENTDB_HOME/config/orientdb-server-log.properties
-Djava.util.logging.config.file="$ORIENTDB_LOG_CONF"
所以你可以grep value
ORIENTDB_LOG_FILEHANDLER=$( printf "%s" \`grep "java.util.logging.FileHandler.pattern" $ORIENTDB_LOG_CONF | cut -f2 -d'=' | tr -d '\r'\` )".0"
提取文件处理程序模式" ../ log / orient-server.log.0"
3)如果使用Oracle JDK运行orientdb服务器,您可以使用jps获取pid,然后使用jinfo pid。例如:
$ jps -l | grep OServer
74481 com.orientechnologies.orient.server.OServerMain
$ jinfo -sysprops 74481 | grep java.util.logging.config.file
java.util.logging.config.file = /mypath/orientdb-enterprise-2.2.15/config/orientdb-server-log.properties
或者将新工具jcmd与主类和可用命令一起使用。例如:
$ jcmd com.orientechnologies.orient.server.OServerMain help
...
VM.system_properties
...
$ jcmd com.orientechnologies.orient.server.OServerMain VM.system_properties | grep java.util.logging.config.file
java.util.logging.config.file=/mypath/orientdb-enterprise-2.2.15/config/orientdb-server-log.properties
然后你可以grep属性文件来提取文件处理程序模式