package com.redhat.qe.tools.remotelog;
/**
* This annotation defines a remote log destination. Basically you need to tell, username, hostname and password
* for remote machine, then you need to specify log file on the remote machine.
* <b>ANY</b> of above properties can contain:
* <ul>
* <li><b>${system.property}</b> to reference java system property</li>
* <li><b>${env:VARIABLE}</b> to reference environment variable</li>
* </ul>
* These are processed by {@link RemoteLogCheckTestNGListener} and replaced with right values at runtime
* @author lzoubek@redhat.com
*
*/
public @interface RemoteLog {
/**
* hostname or IP where to find remote log file
* <br><br>
* <b>${env:VARIABLE}</b> can be used to reference environment variable<br>
* <b>${system.property}</b> can be used to reference java system property
*/
String host() default "${env:HOST_NAME}";
/**
* user to login via SSH
*/
String user() default "${env:HOST_USER}";
/**
* user's pasword
* <br> {@link RemoteLog#keyfile()} has priority over {@link RemoteLog#pass()}
*/
String pass() default "${env:HOST_PASSWORD}";
/**
* path to watched log file relative to {@link CheckRemoteLog#user()} HOME or absolute path
*/
String logFile() default "${env:REMOTE_LOGFILE}";
/**
* an expression passed to <b>grep</b> tool to detect BAD lines in log file
*/
String failExpression() default "\' ERROR \'";
}