2017-01-27 1 views
0

OrientDB обрабатывает журналы с использованием Java Logging Framework. Регистрация настроена с использованием orientdb-server-log.properties. Путь к файлуВозможно ли заменить имя файла журнала из свойств среды/системы OrientDB?

выхода определяются как

java.util.logging.FileHandler.pattern=../log/orient-server.log 

Можно ли заменить значение java.util.logging.FileHandler.pattern от свойств среды/систем?

ответ

0

1) Если вы запустили встроенный сервер в своем jvm (например: http://orientdb.com/docs/2.1/Embedded-Server.html), и вы запускаете Java-процесс с помощью -Djava.util.logging.config.file = $ ORIENTDB_HOME/config/orientdb-server-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" 

, так что вы можете вычленить значение

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 

Затем вы можете вычленить свойства файла для извлечения рисунка на хендлер

+0

Спасибо за подробный ответ, но я думаю, что мой квестинг путает на самом деле, которые я исправил. Я хотел подменять переменную среды/системы для значения свойства 'java.util.logging.FileHandler.pattern' – Nitesh

Смежные вопросы