You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by vkulichenko <va...@gmail.com> on 2017/01/20 18:35:43 UTC

Re: REST service command LOG

Sam,

What if you does not provide the 'path' parameter? Does it work?

-Val



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/REST-service-command-LOG-tp10148p10159.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: REST service command LOG

Posted by ekraynov <ev...@epam.com>.
Log command of the REST API provides access just for logs of the node where
the service raised.  
Logs can be retrieved from IGNITE_HOME/ or from the path defined in the log
configuration of the node.
Log configuration should be defined expliciltly when Ignite-log4j module is
enabled.
 
XML:
<bean class="org.apache.ignite.configuration.IgniteConfiguration">
  <property name="gridLogger">
    <bean class="org.apache.ignite.logger.log4j.Log4JLogger">
      <constructor-arg type="java.lang.String" value="log4j.xml"/>
    </bean>
  </property>
  
  ...
</bean>
 
 Java:
IgniteConfiguration cfg = new IgniteConfiguration();
IgniteLogger log = new Log4JLogger("log4j.xml");
cfg.setGridLogger(log);
 
In this way, Log command will provide by default (without Path parameter)
logs from the file specified 
in  log4j.xml
 
I think, the current behavior is correct



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: REST service command LOG

Posted by "javastuff.sam@gmail.com" <ja...@gmail.com>.
Created minor ticket IGNITE-4845




--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/REST-service-command-LOG-tp10148p11325.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: REST service command LOG

Posted by vkulichenko <va...@gmail.com>.
Hi Sam,

This makes sense to me. Can you create a ticket and put your thoughts there?
Contributions are also very welcome ;)

-Val



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/REST-service-command-LOG-tp10148p11162.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: REST service command LOG

Posted by "javastuff.sam@gmail.com" <ja...@gmail.com>.
Hi Val,

Apologies for coming back to this thread late.

I agree for security reasons it should internally figure out which log file
to read. However it does not work, here is the scenario -

Ignite-log4j module is enabled simply including this jar file, now it uses
my application log4j configuration to log successfully. But ignite.log() is
never initialized, it is null, hence REST API not able to figure out where
is the log file. 
I have to enforce either of the workaround - 
1. Log file location need to start with IGNITE_HOME and use Path parameter
in LOG command.
2. Enforce logging into IGNITE_HOME/work/log/ignite.log location.

I think when Ignite-log4j module is enabled it should make Ignite aware of
logging configuration. 

Thanks,
-Sam



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/REST-service-command-LOG-tp10148p11158.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: REST service command LOG

Posted by vkulichenko <va...@gmail.com>.
Sam,

That's actually interesting :) I believe this command behaves this way
because the purpose of the command is to fetch the Ignite log, not any
arbitrary file. On the other hand, logic in GridLogCommandHandler looks
weird and limited. Do you have any ideas about how it SHOULD work?

My current thought is that 'path' parameter actually doesn't make much
sense, and Ignite should always properly pick up the file it writes log to
(this apparently doesn't happen in you scenario). I'm not sure how to deal
with rolling logs in this case though...

-Val



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/REST-service-command-LOG-tp10148p10164.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: REST service command LOG

Posted by "javastuff.sam@gmail.com" <ja...@gmail.com>.
No, it does not work. It tries to look for file
$IGNITE_HOME/work/log/ignite.log. Code seems to have "/work/log/ignite.log"
as default log file.

Since Ignite configuration does not have logging details, best bet I thought
was specifying path.

Thanks,
-Sam 
 



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/REST-service-command-LOG-tp10148p10160.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.