class Logger
{
private:
LoggerService_Logger_ptr impl_;
...
public:
enum MessageLevel { LOW = LoggerService_LOW,
MEDIUM = LoggerService_MEDIUM,
HIGH = LoggerService_HIGH };
...
virtual void
logMessage(MessageLevel level,const string& message);
virtual void logMessage(MessageLevel level,
const string& fileName,
long lineNumber,
const string& message);
virtual void logMessage(MessageLevel level,
const string& className,
const string& methodName,
const string& message);
virtual vector<string,allocator> messages(MessageLevel level);
}; // end Logger
Logger::Logger()
{
// acquire a reference to the Logger
const string loggerName("Logger");
CORBA_Environment env;
impl_
= LoggerService_Logger::_import
(CORBAContext::instance().orb(), loggerName.c_str(),
env);
if (env.exception())
throw string("Logger::Logger(): CORBA exception raised: ")
+ CORBAContext::exceptionDescription(env.exception());
else if (CORBA_is_nil(impl_))
throw
string("Logger::Logger(): Cannot obtain a reference for ")
+ loggerName
+ string(" from the Naming Service.");
} // end Logger::Logger()
End of Listing