2014-12-17 2 views
0

Я добавил пользовательский регистратор в JBoss-7 standalone.xml, и я упомянул имя файла журнала, например /home/sample/sample.log, и информация о журнале корректно печатается в этом месте, но Мое требование: «Нужно изменить имя журнала динамически ". Я могу изменить имя журнала с помощью команды JBoss log cli. «Можно ли изменить имя файла журнала с помощью кода Java?».Как изменить конфигурацию журнала JBoss 7 через Java?

ответ

1

Вы можете использовать ModelControllerClient и изменить все, что вы можете, от CLI.

Например:

ModelNode op = new ModelNode(); 
op.get(ClientConstants.OP).set("change-file"); 
//change MYHANDLER 
op.get(ClientConstants.OP_ADDR).set("/subsystem=logging/periodic-rotating-file-handler=MYHANDLER"); 

//set new file name as new_file_name.log 
ModelNode file = new ModelNode(); 
file.get("relative-to").set("jboss.server.log.dir"); 
file.get("path").set("new_file_name.log"); 
op.get("file").set(file); 

ModelControllerClient client = ModelControllerClient.Factory.create("localhost", 9999); 
ModelNode result = client.execute(op); 

if (result.hasDefined("outcome") && "success".equals(result.get("outcome").asString())) { 
    if (result.hasDefined("result")) { 
     System.out.println(result.get("result")); 
    } 
} else if (result.hasDefined("failure-description")) { 
    throw new RuntimeException(result.get("failure-description").toString()); 
} else { 
    throw new RuntimeException("Operation not successful; outcome = " + result.get("outcome")); 
} 

Смотрите также:

+0

Огромное спасибо Federico за быстрый ответ :). –

+0

@AzhaguvelA добро пожаловать. –

+0

@AzhaguvelA загляните в это http://stackoverflow.com/questions/12164787/configuring-jboss-7-without-manually-editing-the-standalone-xml –

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