Не удается захватить выходные данные клиента Apache Karaf

Я запустил Apache Karaf 3.0.0 в режиме сервера, используя $KARAF_HOME/bin/start в CentOS 6.5. Затем я хотел запустить несколько команд, используя $KARAF_HOME/bin/client, а также зафиксировать вывод этих команд, чтобы убедиться, что команды выполняются успешно. Вывод действительно выплеснулся на мою консоль, но я так и не смог перенаправить его в файл. Похоже, что Karaf ничего не записывает в поток вывода или поток ошибок. Я пробовал следующее:

[apache-karaf-3.0.0]$ ./bin/start clean
[apache-karaf-3.0.0]$ ./bin/client "bundle:list"
Logging in as karaf
282 [pool-2-thread-3] WARN org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier - Server at /0.0.0.0:8101 presented unverified key:
START LEVEL 100 , List Threshold: 50
 ID | State  | Lvl | Version                 | Name
------------------------------------------------------------------------------------
 91 | Active |  80 | 1.8.0                   | Commons Codec
 92 | Active |  80 | 2.6                     | Commons Lang
 93 | Active |  80 | 15.0.0                  | Guava: Google Core Libraries for Java

[apache-karaf-3.0.0]$ ./bin/client "bundle:list" >& bundleList
[apache-karaf-3.0.0]$ cat bundleList
null

В файл bundleList ничего не записалось. Передача вывода, похоже, тоже не помогает.


person The Governor    schedule 16.03.2014    source источник
comment
bin\client — это скрипт. здесь исходный код версии 3.0.0: github.com/apache/karaf/blob/karaf-3.0.0/assemblies/features/. Не знаю, влияет ли...   -  person logoff    schedule 12.04.2015


Ответы (3)


Чтобы решение Aviv заработало, просто используйте канал, например. "комплект: список | tac -f /tmp/ваш файл"

person Frizz    schedule 21.06.2016
comment
Opendaylight версии 4.1.5 не поддерживает опцию -f для команды shell:tac, но -a. См. help shell:tac -a --append append to FILE. - person kwarnke; 06.08.2018

Я могу записывать выходные данные клиента в Karaf версии 3.0.2.

user@hostname:~$ client bundle:list > bundleinfo.txt

Это приводит к следующей отладочной информации на консоли:

2053 [sshd-SshClient[36c8e545]-nio2-thread-2] ПРЕДУПРЕЖДЕНИЕ org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier — Сервер по адресу [/0.0.0.0:8101, DSA, xx:xx:xx:xx:xx: xx:xx:c 2:3a:5a:9b:87:ed:e0:b2:6a] представлен непроверенный ключ {}: {}

..и, конечно же, файл bundleinfo.txt с ожидаемым содержимым:

user@hostname:~$ head -5 bundleinfo.txt
START LEVEL 100 , List Threshold: 50
 ID | State    | Lvl | Version                 | Name
---------------------------------------------------------------------------------------------
38 | Active   |  80 | 3.2.5.RELEASE           | Spring Security Core
39 | Active   |  80 | 1.0.0.1                 | Apache ServiceMix :: Bundles :: javax.inject
person RRM    schedule 15.04.2015

Для командной строки я использую «tac» и перенаправляю в файл с помощью -f , в Karaf 3.0.3 попробуйте или узнайте, что он делает с --help

person Aviv    schedule 04.05.2015
comment
Если это действительно ответ на вопрос, вы должны улучшить его, объяснить: stackoverflow.com/help/how-to- ответ - person Soma; 04.05.2015
comment
Если вы не понимаете мой ответ, я не могу вам помочь! - person Aviv; 04.05.2015