TANGO Java API
( TangORB-7.3.3.jar)

fr.esrf.TangoDs
Class Logging

java.lang.Object
  extended by fr.esrf.TangoDs.Logging
All Implemented Interfaces:
TangoConst

public class Logging
extends java.lang.Object
implements TangoConst

Implements the main TANGO logging features


Nested Class Summary
 class Logging.LoggingProperties
          A private nested class store logging proprety
 
Field Summary
 
Fields inherited from interface fr.esrf.TangoDs.TangoConst
ACCESS_READ, ACCESS_SERVICE, ACCESS_WRITE, ARCHIVE_EVENT, ATT_CONF_EVENT, Attr_AdmName, Attr_Description, Attr_Name, Attr_State, Attr_Status, Attr_Unknown, ATTRIBUTE, BY_CLASS, BY_DEVICE, BY_PROCESS, CHANGE_EVENT, COMMAND, CONTROL_SYSTEM, DATA_READY_EVENT, DEFAULT_LOCK_VALIDITY, eventNames, LOGGING_CONSOLE_TARGET, LOGGING_CONSOLE_TARGET_ID, LOGGING_DEBUG, LOGGING_DEF_RFT, LOGGING_DEVICE_TARGET, LOGGING_DEVICE_TARGET_ID, LOGGING_ERROR, LOGGING_FATAL, LOGGING_FILE_TARGET, LOGGING_FILE_TARGET_ID, LOGGING_INFO, LOGGING_LEVELS, LOGGING_MAX_RFT, LOGGING_MIN_RFT, LOGGING_OFF, LOGGING_SEPARATOR, LOGGING_UNKNOWN_TARGET_ID, LOGGING_WARN, NO_SYNC, NOT_STATELESS, NotANumber, Op_BlackBox, Op_Command, Op_Command_2, Op_Command_inout, Op_Command_inout_2, Op_Command_inout_history_2, Op_Command_list, Op_Command_list_2, Op_Get_Attr_Config, Op_Get_Attr_Config_2, Op_Info, Op_Ping, Op_Read_Attr, Op_Read_Attr_2, Op_Read_Attr_history_2, Op_Set_Attr_Config, Op_Unknown, Op_Write_Attr, PERIODIC_EVENT, QUALITY_EVENT, Req_Attribute, Req_Operation, Req_Unknown, SERVICE_PROP_NAME, STATELESS, Tango_AllAttr, Tango_AllAttr_3, Tango_AlrmValueNotSpec, Tango_AssocWritNotSpec, Tango_AttrDataFormatName, Tango_CLNT_TIMEOUT, Tango_CmdArgTypeName, Tango_CONST_DEV_STRING, Tango_DbObjName, Tango_DEFAULT_POLL_OLD_FACTOR, Tango_DEFAULT_TIMEOUT, Tango_DEFAULT_TIMEOUT_SEC, Tango_DefaultBlackBoxDepth, Tango_DefaultDocUrl, Tango_DefaultPollRingDepth, Tango_DefaultWritableProp, Tango_DELTA_T, Tango_DescNotSet, Tango_DescNotSpec, Tango_DEV_BOOLEAN, Tango_DEV_CHAR, Tango_DEV_DOUBLE, Tango_DEV_ENCODED, Tango_DEV_FLOAT, Tango_DEV_INT, Tango_DEV_LONG, Tango_DEV_LONG64, Tango_DEV_SHORT, Tango_DEV_STATE, Tango_DEV_STRING, Tango_DEV_UCHAR, Tango_DEV_ULONG, Tango_DEV_ULONG64, Tango_DEV_USHORT, Tango_DEV_VOID, Tango_DevStateName, Tango_DEVVAR_CHARARRAY, Tango_DEVVAR_DOUBLEARRAY, Tango_DEVVAR_DOUBLESTRINGARRAY, Tango_DEVVAR_FLOATARRAY, Tango_DEVVAR_LONG64ARRAY, Tango_DEVVAR_LONGARRAY, Tango_DEVVAR_LONGSTRINGARRAY, Tango_DEVVAR_SHORTARRAY, Tango_DEVVAR_STRINGARRAY, Tango_DEVVAR_ULONG64ARRAY, Tango_DEVVAR_ULONGARRAY, Tango_DEVVAR_USHORTARRAY, Tango_DevVersion, Tango_DISCARD_THRESHOLD, Tango_DispUnitNotSpec, Tango_DSDeviceDomain, Tango_EXPERT_ATTR, Tango_EXPERT_CMD, Tango_FormatNotSpec, Tango_InitialOutput, Tango_LabelNotSpec, TANGO_LOG_PATH, Tango_MAX_TRANSFER_SIZE, Tango_MaxServerNameLength, Tango_MIN_POLL_PERIOD, Tango_OPERATOR_ATTR, Tango_OPERATOR_CMD, Tango_POLL_ADD_OBJ, Tango_POLL_ATTR, Tango_POLL_CMD, Tango_POLL_REM_DEV, Tango_POLL_REM_OBJ, Tango_POLL_START, Tango_POLL_STOP, Tango_POLL_UPD_PERIOD, Tango_PollAttribute, Tango_PollCommand, Tango_QualityName, Tango_REL_1, Tango_REL_2, Tango_ResNotDefined, Tango_StdUnitNotSpec, Tango_SysProperty, Tango_TG_IMP_MINOR_DEVFAILED, Tango_TG_IMP_MINOR_NON_DEVFAILED, Tango_TG_IMP_MINOR_TO, Tango_TgLibVers, Tango_UnitNotSpec, USER_EVENT
 
Method Summary
 void add_logging_target(org.apache.log4j.Logger logger, java.lang.String ttype_tname)
          Adds a logging target to the specified logger (i.e.
 void add_logging_target(org.apache.log4j.Logger logger, java.lang.String ttype, java.lang.String tname)
          Adds a logging target to the specified logger (i.e.
 void add_logging_target(java.lang.String[] dvsa)
          Adds logging target(s) to the specified device(s)
static org.apache.log4j.Logger core_logger()
          Returns the TANGO core logger.
 DevVarLongStringArray get_logging_level(java.lang.String[] dvsa)
          Get logging level for the specified devices
 Logging.LoggingProperties get_logging_properties(org.apache.log4j.Logger logger, Database db)
          Reads logging properties from TANGO database
 java.lang.String[] get_logging_target(java.lang.String dev_name)
          Get logging target for the specified devices
static Logging init(java.lang.String ds_name, int trace_level, Database db)
          Create and get the singleton object reference.
static Logging instance()
          Get the singleton object reference.
 void kill_zombie_appenders()
          Kills zombie targets (i.e.
 int log4j_to_tango_level(org.apache.log4j.Level level)
          Given to log4j logging level, converts it to TANGO level
 void remove_logging_target(java.lang.String[] dvsa)
          Removes logging target(s) from target list of the specified device(s)
 void set_logging_level(DevVarLongStringArray dvlsa)
          Set logging level for the specified devices
 void set_rolling_file_threshold(org.apache.log4j.Logger logger, long rft)
          Set the specified logger's rolling threshold
 void start_logging()
          For each device, restore the logging level to the value saved during a previous call to stop_logging
 void stop_logging()
          For each device, save its current logging Level then set it to OFF
 org.apache.log4j.Level tango_to_log4j_level(int level)
          Given to TANGO logging level, converts it to lo4j level
 org.apache.log4j.Level tango_to_log4j_level(java.lang.String level)
          Given to TANGO logging level, converts it to lo4j level
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

instance

public static Logging instance()
Get the singleton object reference. This method returns a reference to the object of the Logging class. If the class has not been initialised with it's init method, this method print a message and abort the device server process

Returns:
The Logging object reference

core_logger

public static org.apache.log4j.Logger core_logger()
Returns the TANGO core logger. Make it static for both avoiding to call instance() each time we want to obtain the core_logger reference and ensuring that UtilPrint does not crash if the core_logger is not already instciated (log statements executed before logging init)


init

public static Logging init(java.lang.String ds_name,
                           int trace_level,
                           Database db)
Create and get the singleton object reference. This method returns a reference to the object of the Logging class. If the class singleton object has not been created, it will be instanciated

Parameters:
ds_name - The device server executable name
db - The database object
Returns:
The Logging object reference

get_logging_properties

public Logging.LoggingProperties get_logging_properties(org.apache.log4j.Logger logger,
                                                        Database db)
Reads logging properties from TANGO database


add_logging_target

public void add_logging_target(java.lang.String[] dvsa)
                        throws DevFailed
Adds logging target(s) to the specified device(s)

Parameters:
dvsa - A string array where str[i]=dev-name and str[i+1]=target_type::target_name
Throws:
DevFailed

add_logging_target

public void add_logging_target(org.apache.log4j.Logger logger,
                               java.lang.String ttype,
                               java.lang.String tname)
                        throws DevFailed
Adds a logging target to the specified logger (i.e. device).

Parameters:
logger - A lo4j logger to which the target will be added
ttype - The target type
tname - The target name
Throws:
DevFailed

add_logging_target

public void add_logging_target(org.apache.log4j.Logger logger,
                               java.lang.String ttype_tname)
                        throws DevFailed
Adds a logging target to the specified logger (i.e. device)

Parameters:
logger - A lo4j logger to which the target will be added
ttype_tname - A string containing something like target_type::target_name
Throws:
DevFailed

remove_logging_target

public void remove_logging_target(java.lang.String[] dvsa)
                           throws DevFailed
Removes logging target(s) from target list of the specified device(s)

Parameters:
dvsa - A string array where str[i]=dev-name and str[i+1]=target_type::target_name
Throws:
DevFailed

set_logging_level

public void set_logging_level(DevVarLongStringArray dvlsa)
                       throws DevFailed
Set logging level for the specified devices

Parameters:
dvlsa - A Tango.DevVarLongStringArray containing device-names and logging levels
Throws:
DevFailed

get_logging_level

public DevVarLongStringArray get_logging_level(java.lang.String[] dvsa)
                                        throws DevFailed
Get logging level for the specified devices

Parameters:
dvsa - A Tango.DevVarStringArray containing device names
Throws:
DevFailed

get_logging_target

public java.lang.String[] get_logging_target(java.lang.String dev_name)
                                      throws DevFailed
Get logging target for the specified devices

Parameters:
dev_name - The device names
Throws:
DevFailed

stop_logging

public void stop_logging()
For each device, save its current logging Level then set it to OFF


start_logging

public void start_logging()
For each device, restore the logging level to the value saved during a previous call to stop_logging


kill_zombie_appenders

public void kill_zombie_appenders()
Kills zombie targets (i.e. appenders)


tango_to_log4j_level

public org.apache.log4j.Level tango_to_log4j_level(int level)
                                            throws DevFailed
Given to TANGO logging level, converts it to lo4j level

Throws:
DevFailed

tango_to_log4j_level

public org.apache.log4j.Level tango_to_log4j_level(java.lang.String level)
Given to TANGO logging level, converts it to lo4j level


log4j_to_tango_level

public int log4j_to_tango_level(org.apache.log4j.Level level)
Given to log4j logging level, converts it to TANGO level


set_rolling_file_threshold

public void set_rolling_file_threshold(org.apache.log4j.Logger logger,
                                       long rft)
Set the specified logger's rolling threshold


TANGO Java API
( TangORB-7.3.3.jar)