Log.h File Reference

#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/time.h>
#include <string>
#include <vector>
#include "Logger.h"

Go to the source code of this file.

Namespaces

namespace  oasys

Classes

struct  oasys::level2str_t
class  oasys::Log
 Dynamic Log system implementation. More...
struct  oasys::Log::Rule
 Structure used to store a log rule as parsed from the debug file. More...

Defines

#define PRINTFLIKE(a, b)
#define LOG_DEFAULT_THRESHOLD   oasys::LOG_INFO
#define LOG_DEFAULT_DBGFILE   "~/.debug"
#define LOG_MAX_PATHLEN   (64)
#define LOG_MAX_LINELEN   (256)
#define log_debug(p, args...)
 The set of macros below are implemented for more efficient implementation of logging functions.
#define __log_debug(p, args...)
#define log_info(p, args...)
#define __log_info(p, args...)
#define log_notice(p, args...)
#define __log_notice(p, args...)
#define log_warn(p, args...)
#define __log_warn(p, args...)
#define log_err(p, args...)
#define __log_err(p, args...)
#define log_crit(p, args...)
#define __log_crit(p, args...)
#define log_always(p, args...)
#define __log_always(p, args...)

Enumerations

enum  oasys::log_level_t {
  oasys::LOG_INVALID = -1, oasys::LOG_DEBUG = 1, oasys::LOG_INFO = 2, oasys::LOG_NOTICE = 3,
  oasys::LOG_WARN = 4, oasys::LOG_ERR = 5, oasys::LOG_CRIT = 6, oasys::LOG_ALWAYS = 7
}

Functions

const char * oasys::level2str (log_level_t level)
log_level_t oasys::str2level (const char *level)
void oasys::__log_assert (bool x, const char *what, const char *file, int line)
int oasys::vlogf (const char *path, log_level_t level, const char *fmt, va_list ap)
 Global vlogf function.
int oasys::logf (const char *path, log_level_t level, const char *fmt,...)
 Global logf function.
int oasys::log_multiline (const char *path, log_level_t level, const char *msg)
 Global log_multiline function.
int oasys::__logf (log_level_t level, const char *path, const char *fmt,...)
 See the big block comment below for an explanation of the __logf variant.
bool oasys::__log_enabled (log_level_t level, const char *path)
 Global function to determine if the log path is enabled.

Variables

level2str_t oasys::log_levelnames []


Define Documentation

#define __log_always ( p,
args...   ) 

Value:

Definition at line 577 of file Log.h.

#define __log_crit ( p,
args...   ) 

Value:

Definition at line 569 of file Log.h.

Referenced by dtnsim::Connectivity::create_conn().

#define __log_debug ( p,
args...   ) 

Value:

Definition at line 528 of file Log.h.

#define __log_err ( p,
args...   ) 

Value:

Definition at line 561 of file Log.h.

Referenced by oasys::BerkeleyDBStore::db_errcall(), and dtn::GlobalStore::do_init().

#define __log_info ( p,
args...   ) 

Value:

Definition at line 537 of file Log.h.

#define __log_notice ( p,
args...   ) 

Value:

Definition at line 545 of file Log.h.

#define __log_warn ( p,
args...   ) 

Value:

Definition at line 553 of file Log.h.

#define log_always ( p,
args...   ) 

Value:

((__log_enabled(oasys::LOG_ALWAYS, (p))) ?                  \
     __logf(oasys::LOG_ALWAYS, (p) , ## args) : 0)

Definition at line 573 of file Log.h.

Referenced by dtn::LoggingRegistration::deliver_bundle().

#define log_crit ( p,
args...   ) 

Value:

((__log_enabled(oasys::LOG_CRIT, (p))) ?                    \
     __logf(oasys::LOG_CRIT, (p) , ## args) : 0)

Definition at line 565 of file Log.h.

Referenced by dtn::BundleDaemon::cancel_custody_timers(), oasys::DurableStoreImpl::create_db_dir(), oasys::DurableStore::create_store(), dtn::BundleDaemon::delete_from_pending(), oasys::Notifier::drain_pipe(), dtn::APIClient::handle_bind(), dtn::APIClient::handle_unbind(), dtn::BundlePayload::init(), oasys::BerkeleyDBStore::init(), dtn::DTNServer::init_datastore(), dtn::DTNServer::init_dir(), dtn::BundlePayload::init_from_store(), dtntunnel::DTNTunnel::init_registration(), dtn::GlobalStore::load(), dtn::DTND::main(), oasys::TypeCollectionInstance< _Collection >::new_object(), dtn::Link::open(), dtn::BundleProtocol::parse_header_blocks(), dtn::UDPConvergenceLayer::send_bundle(), oasys::BerkeleyDBTable::size(), dtn::BundleActions::store_add(), dtn::BundleActions::store_del(), dtn::BundleActions::store_update(), dtn::DTNServer::tidy_dir(), dtn::DTNServer::validate_dir(), and dtn::APIClient::wait_for_bundle().

#define log_debug ( p,
args...   ) 

Value:

((__log_enabled(oasys::LOG_DEBUG, (p))) ?                   \
     __logf(oasys::LOG_DEBUG, (p)  , ## args) : 0)
The set of macros below are implemented for more efficient implementation of logging functions.

As noted in the comment above, these macros first check whether logging is enabled on the path and then call the output formatter. As such, all output string formatting and argument calculations are only done if the log path is enabled.

Note that the implementation is slightly confusing due to the need to support the Logger class. Logger implements a logf() and vlogf() function that doesn't take the path as the first parameter, but instead uses an instance variable to keep the path recorded. Thus, the macros need to support both a non-Logger call of the form:

log_debug("/path", "format string %s", "arguments");

and of the form:

log_debug("Logger format string %s", "arguments");

To implement this, the macro calls __log_enabled(path, level) which calls either the Logger member function or the global implementation with whatever the first argument to the macro is. The Logger::__log_enabled() implementation actually ignores this parameter (since it's actually the format string) and just checks whether its logpath_ path is enabled.

In addition, these macros call __logf() instead of logf, and both the global and the Logger class implementation take the log level as the first parameter.

What makes this slightly more complicated is that derived classes of Logger can optionally call logging functions with an explicit path, ignoring the logpath_ instance.

This poses a problem for the macro, since at compile time, it's impossible to distinguish between the following two cases:

log_debug("this is just %s", "a const char* argument"); log_debug("/path", "this is a path %s", "and a const char* argument");

The second call will actually generate a compilation error, since the compiler will assume that the first argument to the macro is the format string (which it isn't). To handle this case, the set of __log_debug style macros always assumes that the path is the first argument and can therefore be used in any context where the path is explicitly provided.

Definition at line 524 of file Log.h.

Referenced by dtn::TCPConvergenceLayer::Connection::accept(), dtn::BluetoothConvergenceLayer::Connection::accept(), dtn::TCPConvergenceLayer::Listener::accepted(), oasys::BerkeleyDBStore::acquire_table(), oasys::Thread::activate_start_barrier(), dtn::BundleList::add_bundle(), dtn::RouteTable::add_entry(), oasys::InitSequencer::add_extra_deps(), dtn::ContactManager::add_link(), dtn::Bundle::add_ref(), oasys::TimerSystem::add_sighandler(), dtn::BundleDaemon::add_to_pending(), dtn::BluetoothConvergenceLayer::ConnectionManager::addListener(), dtn::APIServer::APIServer(), dtn::CLConnection::break_contact(), dtn::CustodyTimerSpec::calculate_timeout(), dtn::BundleActions::cancel_bundle(), dtn::StreamConvergenceLayer::Connection::check_completed(), dtn::FragmentManager::check_completed(), dtn::TableBasedRouter::check_next_hop(), dtn::BundleDaemon::check_registrations(), dtnsim::SimContact::chew_message(), dtnsim::SimContact::chewing_complete(), oasys::OpenFdCache< _Key, _CloseFcn >::close(), dtn::Link::close(), oasys::OpenFdCache< _Key, _CloseFcn >::close_all(), dtnsim::GlueNode::close_contact(), dtn::ConvergenceLayer::close_contact(), dtn::ConnectionConvergenceLayer::close_contact(), dtn::CLConnection::close_contact(), dtn::BluetoothConvergenceLayer::close_contact(), dtn::BundleActions::close_link(), dtn::APIClient::close_session(), dtn::TCPConvergenceLayer::Connection::connect(), oasys::IPSocket::connect(), oasys::BluetoothSocket::connect(), oasys::BluetoothServiceDiscoveryClient::connect(), dtn::BluetoothConvergenceLayer::Connection::connect(), dtn::BluetoothConvergenceLayer::ConnectionManager::connection(), dtn::CLConnection::contact_up(), dtn::TcaRouter::create_route(), dtn::BundleList::del_bundle(), dtn::RouteTable::del_entries(), dtn::RouteTable::del_entries_for_nexthop(), dtn::RouteTable::del_entry(), dtn::ContactManager::del_link(), dtn::Bundle::del_ref(), dtn::BundleDaemon::delete_from_pending(), dtn::LinkStateRouter::LSRegistration::deliver_bundle(), dtn::AdminRegistration::deliver_bundle(), dtn::BundleDaemon::deliver_to_registration(), dtn::TCPConvergenceLayer::Connection::disconnect(), dtn::BundleEventHandler::dispatch_event(), oasys::BluetoothServiceDiscoveryClient::do_search(), oasys::TokenBucket::drain(), oasys::Notifier::drain_pipe(), oasys::TokenBucket::empty(), oasys::OpenFdCache< _Key, _CloseFcn >::evict(), dtnsim::NodeCommand::exec(), dtn::BundleCommand::exec(), dtnsim::GlueNode::execute_router_action(), oasys::SMTPUtils::extract_address(), dtn::LinkScheduleEstimator::extract_schedule(), dtn::ContactManager::find_link_to(), dtn::LinkStateGraph::findNextHop(), dtn::StreamConvergenceLayer::Connection::finish_bundle(), oasys::BufferedOutput::flush(), dtn::BundleProtocol::format_header_blocks(), dtn::TcaRouter::fwd_to_all(), dtn::TableBasedRouter::fwd_to_matching(), dtn::TcaRouter::fwd_to_matching_r(), dtn::TableBasedRouter::fwd_to_nexthop(), dtn::BundleDaemon::generate_status_report(), oasys::OpenFdCache< _Key, _CloseFcn >::get_and_pin(), oasys::FileSystemTable::get_common(), dtn::RouteTable::get_matching(), dtn::RegistrationTable::get_matching(), oasys::IO::get_nonblocking(), dtn::BundleProtocol::get_primary_len(), oasys::BerkeleyDBStore::get_table(), dtn::LinkStateGraph::getMatchingVertex(), dtn::LinkStateGraph::getVertex(), dtn::BluetoothConvergenceLayer::Connection::handle_ack(), dtn::StreamConvergenceLayer::Connection::handle_ack_segment(), dtn::TcaRouter::handle_add_route(), dtn::CLConnection::handle_announce_bundle(), dtn::TcaRouter::handle_anonymous_bundle(), dtn::APIClient::handle_begin_poll(), dtn::TcaRouter::handle_bl_control_bundle(), dtntunnel::TCPTunnel::handle_bundle(), dtn::FloodBundleRouter::handle_bundle_expired(), dtn::TableBasedRouter::handle_bundle_received(), dtn::LinkStateRouter::handle_bundle_received(), dtn::FloodBundleRouter::handle_bundle_received(), dtn::BundleDaemon::handle_bundle_received(), dtn::TableBasedRouter::handle_bundle_transmit_failed(), dtn::TcaRouter::handle_bundle_transmitted(), dtn::TcaRouter::handle_coa(), dtn::TcaRouter::handle_contact_down(), dtn::StreamConvergenceLayer::Connection::handle_contact_initiation(), dtn::TcaRouter::handle_contact_up(), dtn::ContactManager::handle_contact_up(), dtn::StreamConvergenceLayer::Connection::handle_data_segment(), dtn::StreamConvergenceLayer::Connection::handle_data_todo(), dtn::TcaRouter::handle_del_route(), dtn::StreamConvergenceLayer::Connection::handle_end_bundle(), dtn::TcaRouter::handle_get_routes(), dtn::StreamConvergenceLayer::Connection::handle_keepalive(), dtn::TcaRouter::handle_link_available(), dtn::FloodBundleRouter::handle_link_created(), dtn::TcaRouter::handle_link_unavailable(), dtn::ContactManager::handle_link_unavailable(), dtn::APIClient::handle_local_eid(), dtn::TCPConvergenceLayer::Connection::handle_poll_activity(), dtn::StreamConvergenceLayer::Connection::handle_poll_timeout(), dtn::APIClient::handle_recv(), dtn::TcaRouter::handle_register(), dtn::StreamConvergenceLayer::Connection::handle_shutdown(), dtn::TcaRouter::handle_shutdown_request(), dtn::BundleDaemon::handle_shutdown_request(), oasys::TimerSystem::handle_signals(), dtn::StreamConvergenceLayer::Connection::handle_start_bundle(), dtn::TcaRouter::handle_tca_unbound_bundle(), dtn::UDPConvergenceLayer::Sender::init(), dtn::Bundle::init(), dtn::DTNServer::init_commands(), dtn::DTNServer::init_components(), dtn::Registration::init_expiration_timer(), dtn::UDPConvergenceLayer::init_link(), dtn::ConvergenceLayer::init_link(), dtn::ConnectionConvergenceLayer::init_link(), dtn::BluetoothConvergenceLayer::init_link(), dtntunnel::DTNTunnel::init_registration(), dtn::StreamConvergenceLayer::Connection::initiate_contact(), dtn::BundleActions::inject_bundle(), dtn::ConvergenceLayer::interface_down(), dtn::UDPConvergenceLayer::interface_up(), dtn::TCPConvergenceLayer::interface_up(), dtn::ConvergenceLayer::interface_up(), dtn::BluetoothConvergenceLayer::interface_up(), oasys::BufferedInput::internal_read(), oasys::Thread::interrupt(), oasys::BluetoothServiceDiscoveryClient::is_dtn_router(), dtn::BluetoothConvergenceLayer::ConnectionManager::listener(), dtn::GlobalStore::load(), oasys::Mutex::lock(), dtn::log_bundle(), dtn::log_controlbundle(), dtn::LinkScheduleEstimator::log_dist(), dtntunnel::DTNTunnel::main(), oasys::InitSequencer::mark_dep(), dtn::TCAScheme::match(), dtn::DTNScheme::match(), dtn::ContactManager::new_opportunistic_link(), oasys::BluetoothInquiry::next(), dtn::GlobalStore::next_bundleid(), dtn::GlobalStore::next_regid(), dtn::StreamConvergenceLayer::Connection::note_data_rcvd(), dtn::BluetoothConvergenceLayer::Connection::note_data_rcvd(), dtn::StreamConvergenceLayer::Connection::note_data_sent(), oasys::Notifier::Notifier(), oasys::Notifier::notify(), dtn::TcaRouter::on_adv_transmitted(), dtn::TcaRouter::on_ask_transmitted(), dtn::TcaRouter::on_coa_transmitted(), oasys::OnOffNotifier::OnOffNotifier(), dtn::Link::open(), dtn::UDPConvergenceLayer::open_contact(), dtnsim::SimpleNode::open_contact(), dtnsim::SimConvergenceLayer::open_contact(), dtnsim::GlueNode::open_contact(), dtn::ConnectionConvergenceLayer::open_contact(), dtn::BluetoothConvergenceLayer::open_contact(), dtn::BundleActions::open_link(), dtn::BundleProtocol::parse_header_blocks(), dtn::BlockingBundleList::pop_blocking(), oasys::TimerSystem::pop_timer(), dtn::TcaRouter::post_bundle(), dtn::BundleDaemon::post_event(), dtn::LinkScheduleEstimator::print_log(), dtnsim::TrAgent::process(), dtnsim::SimContact::process(), dtnsim::Node::process(), dtnsim::Node::process_bundle_events(), oasys::SMTP::process_cmd(), dtn::CLConnection::process_command(), dtn::UDPConvergenceLayer::Receiver::process_data(), dtn::StreamConvergenceLayer::Connection::process_data(), dtn::FragmentManager::process_for_reassembly(), oasys::SMTP::process_response(), oasys::MemoryTable::put(), oasys::FileSystemTable::put(), oasys::BerkeleyDBTable::put(), oasys::OpenFdCache< _Key, _CloseFcn >::put_and_pin(), oasys::RFCOMMClient::rc_connect(), oasys::BufferedInput::read_bytes(), oasys::BufferedInput::read_line(), oasys::BufferedInput::read_some_bytes(), dtn::BluetoothConvergenceLayer::Connection::recv_announce(), dtn::BluetoothConvergenceLayer::Connection::recv_bundle(), dtn::TCPConvergenceLayer::Connection::recv_data(), dtn::BluetoothConvergenceLayer::Connection::recv_loop(), oasys::Thread::release_start_barrier(), oasys::BerkeleyDBStore::release_table(), dtn::ContactManager::reopen_link(), oasys::BerkeleyDBStore::DeadlockTimer::reschedule(), dtn::UDPConvergenceLayer::Receiver::run(), dtntunnel::TCPTunnel::Connection::run(), dtnsim::Simulator::run(), dtn::FileConvergenceLayer::Scanner::run(), dtn::CLConnection::run(), dtn::BundleDaemon::run(), dtn::BluetoothConvergenceLayer::NeighborDiscovery::run(), dtn::BluetoothConvergenceLayer::Connection::run(), dtn::APIClient::run(), oasys::TimerSystem::run_expired_timers(), oasys::InitSequencer::run_steps(), oasys::TimerSystem::schedule_at(), oasys::RateLimitedSocket::send(), dtn::BluetoothConvergenceLayer::Connection::send_announce(), dtnsim::SimConvergenceLayer::send_bundle(), dtn::NullConvergenceLayer::send_bundle(), dtn::FileConvergenceLayer::send_bundle(), dtn::ConnectionConvergenceLayer::send_bundle(), dtn::BundleActions::send_bundle(), dtn::BluetoothConvergenceLayer::Connection::send_bundle(), dtn::TCPConvergenceLayer::Connection::send_data(), dtn::StreamConvergenceLayer::Connection::send_data_todo(), dtn::StreamConvergenceLayer::Connection::send_keepalive(), dtn::BluetoothConvergenceLayer::Connection::send_loop(), dtn::StreamConvergenceLayer::Connection::send_next_segment(), dtn::StreamConvergenceLayer::Connection::send_pending_acks(), dtn::APIClient::send_response(), oasys::RateLimitedSocket::sendto(), oasys::IO::set_nonblocking(), dtn::Link::set_state(), dtnsim::Connectivity::set_state(), dtn::TableBasedRouter::should_fwd(), dtnsim::SimRegistration::SimRegistration(), oasys::FileSystemTable::size(), oasys::Thread::start(), dtn::DTNServer::start(), dtn::StreamConvergenceLayer::Connection::start_next_bundle(), dtn::BundleActions::store_add(), dtn::BundleActions::store_del(), dtn::BundleActions::store_update(), dtn::TclRegistration::TclRegistration(), dtn::DTNServer::tidy_dir(), oasys::TokenBucket::time_to_fill(), oasys::BerkeleyDBStore::DeadlockTimer::timeout(), oasys::TCPClient::timeout_connect(), oasys::TokenBucket::TokenBucket(), oasys::InitSequencer::topo_sort(), dtn::BundleDaemon::try_delete_from_pending(), oasys::Mutex::try_lock(), dtn::FragmentManager::try_to_reactively_fragment(), oasys::Mutex::unlock(), oasys::OpenFdCache< _Key, _CloseFcn >::unpin(), oasys::TokenBucket::update(), dtn::GlobalStore::update(), dtn::TCAScheme::validate(), dtn::DTNScheme::validate(), dtn::DTNServer::validate_dir(), oasys::OnOffNotifier::wait(), oasys::Notifier::wait(), dtn::APIClient::wait_for_bundle(), dtn::BundlePayload::write_data(), dtn::APIClient::~APIClient(), oasys::BerkeleyDBTable::~BerkeleyDBTable(), dtn::Bundle::~Bundle(), oasys::DurableStore::~DurableStore(), oasys::Mutex::~Mutex(), oasys::Notifier::~Notifier(), and oasys::OnOffNotifier::~OnOffNotifier().

#define LOG_DEFAULT_DBGFILE   "~/.debug"

Definition at line 128 of file Log.h.

#define LOG_DEFAULT_THRESHOLD   oasys::LOG_INFO

Definition at line 127 of file Log.h.

Referenced by main().

#define log_err ( p,
args...   ) 

Value:

((__log_enabled(oasys::LOG_ERR, (p))) ?                     \
     __logf(oasys::LOG_ERR, (p) , ## args) : 0)

Definition at line 557 of file Log.h.

Referenced by dtn::BundleDaemon::accept_custody(), dtn::RegistrationTable::add(), dtn::InterfaceTable::add(), dtn::BundleList::add_bundle(), dtn::APIServer::APIServer(), oasys::BerkeleyDBIterator::BerkeleyDBIterator(), oasys::DurableStoreImpl::check_db_dir(), dtn::BundleTimestamp::check_local_clock(), dtn::check_nargs(), dtnsim::SimContact::chewing_complete(), dtn::Link::close(), dtn::BundleActions::close_link(), oasys::BluetoothSocket::connect(), dtn::TCPConvergenceLayer::Connection::Connection(), oasys::FileIOClient::copy_contents(), dtn::TcaRouter::create_link(), dtn::TcaRouter::create_route(), oasys::DurableStore::create_store(), dtn::SDNV::decode(), dtn::RegistrationTable::del(), dtn::InterfaceTable::del(), oasys::FileSystemTable::del(), oasys::BerkeleyDBTable::del(), dtn::BundleList::del_bundle(), dtn::ContactManager::del_link(), oasys::BerkeleyDBStore::del_table(), dtn::BundleDaemon::delete_from_pending(), dtn::LinkStateRouter::LSRegistration::deliver_bundle(), dtn::AdminRegistration::deliver_bundle(), dtn::GlobalStore::do_init(), DTNRecvCommand::exec(), dtn::FileConvergenceLayer::extract_dir(), oasys::BufferedOutput::flush(), dtn::BundleDaemon::generate_custody_signal(), oasys::MemoryTable::get(), oasys::BerkeleyDBTable::get(), oasys::FileSystemTable::get_common(), oasys::MemoryIterator::get_key(), oasys::BerkeleyDBIterator::get_key(), oasys::BerkeleyDBStore::get_meta_table(), oasys::FileSystemStore::get_table(), oasys::BerkeleyDBStore::get_table(), oasys::FileSystemStore::get_table_names(), oasys::BerkeleyDBStore::get_table_names(), oasys::gethostbyname(), dtn::BluetoothConvergenceLayer::Connection::handle_ack(), dtn::StreamConvergenceLayer::Connection::handle_ack_segment(), dtn::APIClient::handle_begin_poll(), dtn::APIClient::handle_bind(), dtntunnel::UDPTunnel::handle_bundle(), dtntunnel::DTNTunnel::handle_bundle(), dtn::StreamConvergenceLayer::Connection::handle_contact_initiation(), dtn::BundleDaemon::handle_custody_timeout(), dtn::StreamConvergenceLayer::Connection::handle_data_segment(), dtn::StreamConvergenceLayer::Connection::handle_data_todo(), dtn::StreamConvergenceLayer::Connection::handle_end_bundle(), dtn::APIClient::handle_find_registration(), dtn::APIClient::handle_handshake(), dtn::BundleDaemon::handle_link_state_change_request(), dtn::ContactManager::handle_link_unavailable(), dtn::APIClient::handle_local_eid(), dtn::APIClient::handle_recv(), dtn::APIClient::handle_register(), dtn::BundleDaemon::handle_registration_added(), dtn::BundleDaemon::handle_registration_expired(), dtn::BundleDaemon::handle_registration_removed(), dtn::BluetoothConvergenceLayer::Connection::handle_reply(), dtn::APIClient::handle_send(), dtn::StreamConvergenceLayer::Connection::handle_start_bundle(), dtn::TcaRouter::handle_tca_unbound_bundle(), dtn::APIClient::handle_unbind(), dtn::APIClient::handle_unregister(), dtn::UDPConvergenceLayer::Sender::init(), oasys::FileSystemStore::init(), dtn::BundlePayload::init(), dtn::UDPConvergenceLayer::init_link(), dtnsim::SimConvergenceLayer::init_link(), dtn::ConnectionConvergenceLayer::init_link(), dtn::BluetoothConvergenceLayer::init_link(), dtn::UDPConvergenceLayer::interface_up(), dtn::TCPConvergenceLayer::interface_up(), dtn::BluetoothConvergenceLayer::interface_up(), oasys::BerkeleyDBTable::key_exists(), dtntunnel::TCPTunnel::kill_connection(), dtn::BundleDaemon::load_bundles(), dtn::BundleDaemon::load_registrations(), dtntunnel::DTNTunnel::main(), main(), dtn::DTND::main(), oasys::FileIOClient::mkstemp(), dtntunnel::TCPTunnel::new_connection(), oasys::BluetoothInquiry::next(), oasys::BerkeleyDBIterator::next(), oasys::Notifier::notify(), dtn::UDPConvergenceLayer::open_contact(), dtn::BundleActions::open_link(), oasys::ExpatXMLParser::parse(), dtn::DTNServer::parse_conf_file(), dtn::BundleProtocol::parse_header_blocks(), dtn::TCPConvergenceLayer::parse_link_params(), dtn::TCPConvergenceLayer::parse_nexthop(), dtn::UDPConvergenceLayer::Receiver::process_data(), dtn::StreamConvergenceLayer::Connection::process_data(), oasys::MemoryTable::put(), oasys::FileSystemTable::put(), oasys::BerkeleyDBTable::put(), oasys::RFCOMMServerThread::rc_bind(), oasys::RFCOMMClient::rc_connect(), dtn::ConnectionConvergenceLayer::reconfigure_link(), dtn::BluetoothConvergenceLayer::Connection::recv_bundle(), dtn::BluetoothConvergenceLayer::Connection::recv_contact_header(), dtn::TCPConvergenceLayer::Connection::recv_data(), dtn::BluetoothConvergenceLayer::Connection::recv_loop(), oasys::Log::redirect_stdio(), dtn::BundleDaemon::release_custody(), dtn::BundlePayload::reopen_file(), dtn::ContactManager::reopen_link(), dtntunnel::UDPTunnel::Listener::run(), dtn::UDPConvergenceLayer::Receiver::run(), dtntunnel::TCPTunnel::Connection::run(), dtn::FileConvergenceLayer::Scanner::run(), dtn::CLConnection::run(), dtn::BundleDaemon::run(), dtn::BluetoothConvergenceLayer::NeighborDiscovery::run(), dtn::BluetoothConvergenceLayer::Connection::run(), dtn::APIClient::run(), dtn::UDPConvergenceLayer::Sender::send_bundle(), dtn::FileConvergenceLayer::send_bundle(), dtntunnel::DTNTunnel::send_bundle(), dtn::BundleActions::send_bundle(), dtn::BluetoothConvergenceLayer::Connection::send_bundle(), dtn::BluetoothConvergenceLayer::Connection::send_contact_header(), dtn::APIClient::send_response(), oasys::BasicSMTPSender::smtp_error(), oasys::Thread::start(), dtn::TclRegistration::TclRegistration(), oasys::TCPClient::timeout_connect(), dtn::BundleDaemon::try_delete_from_pending(), dtn::RegistrationTable::update(), dtn::FileConvergenceLayer::validate_dir(), dtn::APIClient::wait_for_bundle(), oasys::BerkeleyDBIterator::~BerkeleyDBIterator(), oasys::BerkeleyDBStore::~BerkeleyDBStore(), oasys::DurableStore::~DurableStore(), and oasys::Notifier::~Notifier().

#define log_info ( p,
args...   ) 

Value:

((__log_enabled(oasys::LOG_INFO, (p))) ?                    \
     __logf(oasys::LOG_INFO, (p) , ## args) : 0)

Definition at line 533 of file Log.h.

Referenced by dtn::BundleDaemon::accept_custody(), dtn::RegistrationTable::add(), dtn::InterfaceTable::add(), dtnsim::SimContact::chew_message(), dtnsim::SimpleNode::chewing_complete(), dtnsim::SimContact::chewing_complete(), dtn::UDPConvergenceLayer::close_contact(), dtnsim::SimContact::close_contact(), dtn::ConnectionConvergenceLayer::close_contact(), dtn::BluetoothConvergenceLayer::close_contact(), dtn::TCPConvergenceLayer::Connection::connect(), dtn::Contact::Contact(), oasys::DurableStore::create_store(), dtn::CustodyTimer::CustodyTimer(), dtn::RegistrationTable::del(), dtn::InterfaceTable::del(), oasys::MemoryStore::del_table(), oasys::BerkeleyDBStore::del_table(), dtnsim::SimRegistration::deliver_bundle(), dtn::LinkStateRouter::LSRegistration::deliver_bundle(), dtn::APIRegistration::deliver_bundle(), dtn::AdminRegistration::deliver_bundle(), dtn::GlobalStore::do_init(), dtnsim::FloodConsumer::enqueue_bundle(), dtnsim::Simdtn2Command::exec(), dtnsim::GlueNode::execute_router_action(), dtn::LinkStateGraph::findNextHop(), dtn::FloodBundleRouter::FloodBundleRouter(), dtnsim::FloodConsumer::FloodConsumer(), dtn::LinkStateGraph::getMatchingVertex(), dtnsim::GlueNode::GlueNode(), dtn::APIClient::handle_begin_poll(), dtn::APIClient::handle_bind(), dtntunnel::UDPTunnel::handle_bundle(), dtntunnel::TCPTunnel::Connection::handle_bundle(), dtntunnel::TCPTunnel::handle_bundle(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::BundleDaemon::handle_bundle_expired(), dtn::BundleDaemon::handle_bundle_received(), dtn::BundleDaemon::handle_bundle_transmit_failed(), dtn::BundleDaemon::handle_bundle_transmitted(), dtn::APIClient::handle_close(), dtn::LinkStateRouter::handle_contact_down(), dtn::BundleDaemon::handle_contact_down(), dtn::NeighborhoodRouter::handle_contact_up(), dtn::LinkStateRouter::handle_contact_up(), dtn::BundleDaemon::handle_contact_up(), dtn::BundleDaemon::handle_custody_signal(), dtn::BundleDaemon::handle_custody_timeout(), dtn::BundleDaemon::handle_link_available(), dtn::BundleDaemon::handle_link_state_change_request(), dtn::BundleDaemon::handle_link_unavailable(), dtn::TCPConvergenceLayer::Connection::handle_poll_activity(), dtn::StreamConvergenceLayer::Connection::handle_poll_timeout(), dtn::BundleDaemon::handle_reassembly_completed(), dtn::APIClient::handle_recv(), dtn::BundleDaemon::handle_registration_added(), dtn::BundleDaemon::handle_registration_expired(), dtn::BundleDaemon::handle_registration_removed(), dtn::BluetoothConvergenceLayer::Connection::handle_reply(), dtn::BundleDaemon::handle_route_add(), dtn::BundleDaemon::handle_route_del(), dtn::APIClient::handle_send(), dtn::BundleDaemon::handle_status_request(), dtn::APIClient::handle_unbind(), oasys::FileSystemStore::init(), oasys::BerkeleyDBStore::init(), oasys::BluetoothInquiry::inquire(), dtn::BundleList::insert_random(), dtn::BluetoothConvergenceLayer::ConnectionManager::listener(), dtn::LoggingRegistration::LoggingRegistration(), dtntunnel::DTNTunnel::main(), main(), dtn::DTND::main(), dtnsim::SimpleNode::message_received(), dtnsim::GlueNode::message_received(), dtn::NeighborhoodRouter::NeighborhoodRouter(), dtnsim::Node::Node(), dtn::DTNServer::parse_conf_file(), oasys::InitSequencer::print_dot(), dtn::FragmentManager::proactively_fragment(), dtnsim::SimpleNode::process(), dtnsim::SimContact::process(), dtnsim::GlueNode::process(), oasys::SMTP::process_cmd(), oasys::SMTP::process_response(), dtn::ProphetRouter::ProphetRouter(), dtn::ConnectionConvergenceLayer::reconfigure_link(), dtn::BluetoothConvergenceLayer::Connection::recv_announce(), dtn::BluetoothConvergenceLayer::Connection::recv_bundle(), dtn::TCPConvergenceLayer::Connection::recv_data(), dtn::BluetoothConvergenceLayer::Connection::recv_loop(), dtn::BundleDaemon::release_custody(), dtntunnel::UDPTunnel::Listener::run(), dtntunnel::TCPTunnel::Connection::run(), dtnsim::Simulator::run(), dtn::FileConvergenceLayer::Scanner::run(), dtn::BluetoothConvergenceLayer::NeighborDiscovery::run(), dtn::BluetoothConvergenceLayer::Connection::run(), dtn::APIClient::run(), dtn::DTND::run_console(), dtn::BluetoothConvergenceLayer::Connection::send_ack(), dtn::BluetoothConvergenceLayer::NeighborDiscovery::send_announce(), dtn::UDPConvergenceLayer::Sender::send_bundle(), dtnsim::TrAgent::send_bundle(), dtntunnel::DTNTunnel::send_bundle(), dtn::BluetoothConvergenceLayer::Connection::send_bundle(), dtn::BluetoothConvergenceLayer::send_bundle(), dtn::TCPConvergenceLayer::Connection::send_data(), dtn::BluetoothConvergenceLayer::Connection::send_keepalive(), dtn::BluetoothConvergenceLayer::Connection::send_loop(), oasys::SMTP::server_session(), dtn::DTNServer::shutdown(), dtnsim::SimContact::SimContact(), dtn::TcaRouter::TcaRouter(), dtn::TclRegistration::TclRegistration(), dtn::CustodyTimer::timeout(), dtn::RegistrationTable::update(), oasys::BerkeleyDBStore::~BerkeleyDBStore(), and oasys::MemoryStore::~MemoryStore().

#define LOG_MAX_LINELEN   (256)

Definition at line 131 of file Log.h.

Referenced by oasys::Log::log_multiline(), and oasys::Log::vlogf().

#define LOG_MAX_PATHLEN   (64)

Definition at line 130 of file Log.h.

Referenced by oasys::Log::log_multiline(), and oasys::Log::vlogf().

#define log_notice ( p,
args...   ) 

Value:

((__log_enabled(oasys::LOG_NOTICE, (p))) ?                  \
     __logf(oasys::LOG_NOTICE, (p) , ## args) : 0)

Definition at line 541 of file Log.h.

Referenced by dtn::BluetoothConvergenceLayer::Connection::break_contact(), dtn::DTNServer::close_datastore(), oasys::DurableStoreImpl::create_db_dir(), dtn::BundleDaemon::handle_bundle_received(), dtn::BundleDaemon::handle_custody_signal(), dtn::BundleDaemon::handle_shutdown_request(), oasys::FileSystemStore::init_database(), dtntunnel::DTNTunnel::init_registration(), dtn::BundleDaemon::load_bundles(), dtntunnel::DTNTunnel::main(), main(), dtn::DTND::main(), oasys::DurableStoreImpl::prune_db_dir(), dtn::DTND::seed_random(), dtn::DTNServer::shutdown(), oasys::FileSystemStore::tidy_database(), dtn::DTNServer::tidy_dir(), and dtn::DTNServer::~DTNServer().

#define log_warn ( p,
args...   ) 

Value:

((__log_enabled(oasys::LOG_WARN, (p))) ?                    \
     __logf(oasys::LOG_WARN, (p) , ## args) : 0)

Definition at line 549 of file Log.h.

Referenced by oasys::InitSequencer::add_step(), dtn::BundleDaemon::add_to_pending(), dtn::BluetoothConvergenceLayer::Connection::break_contact(), oasys::OpenFdCache< _Key, _CloseFcn >::close_all(), dtn::CLConnection::close_contact(), oasys::FileSystemTable::del(), oasys::FileSystemStore::del_table(), dtn::LinkStateRouter::LSRegistration::deliver_bundle(), dtn::AdminRegistration::deliver_bundle(), oasys::Notifier::drain_pipe(), oasys::OpenFdCache< _Key, _CloseFcn >::evict(), dtn::StreamConvergenceLayer::Connection::finish_bundle(), oasys::BerkeleyDBStore::get_table(), dtn::BundleDaemon::handle_bundle_received(), dtn::StreamConvergenceLayer::Connection::handle_contact_initiation(), dtn::BundleDaemon::handle_custody_signal(), dtn::ContactManager::handle_link_available(), dtn::BundleDaemon::handle_link_state_change_request(), oasys::FileSystemStore::init_database(), dtn::Registration::init_expiration_timer(), dtn::StreamConvergenceLayer::Connection::initiate_contact(), dtn::TCAScheme::match(), dtn::DTNScheme::match(), oasys::Notifier::notify(), dtn::DTNServer::parse_conf_file(), dtn::BundleProtocol::parse_header_blocks(), dtn::IPConvergenceLayerUtils::parse_nexthop(), dtn::IPConvergenceLayer::parse_nexthop(), dtn::BluetoothConvergenceLayer::parse_nexthop(), oasys::TimerSystem::pop_timer(), oasys::SMTP::process_cmd(), dtn::StreamConvergenceLayer::Connection::process_data(), oasys::SMTP::process_response(), oasys::DurableStoreImpl::prune_db_dir(), oasys::FileSystemTable::put(), dtn::BluetoothConvergenceLayer::Connection::recv_bundle(), dtn::BluetoothConvergenceLayer::Connection::recv_contact_header(), dtn::FileConvergenceLayer::Scanner::run(), dtn::BundleDaemon::run(), dtn::APIClient::run(), oasys::InitSequencer::run_steps(), oasys::SMTP::server_session(), dtn::StreamConvergenceLayer::Connection::start_next_bundle(), and oasys::BerkeleyDBStore::DeadlockTimer::timeout().

#define PRINTFLIKE ( a,
 ) 

Definition at line 122 of file Log.h.


Generated on Fri Dec 22 14:48:02 2006 for DTN Reference Implementation by  doxygen 1.5.1