#ifndef QPID_LOG_POSIX_SINKOPTIONS_H #define QPID_LOG_POSIX_SINKOPTIONS_H /* * * Copyright (c) 2006 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ #include "qpid/log/SinkOptions.h" #include namespace qpid { namespace log { namespace posix { /** * Provides a type that can be passed to << and >> operators to convert * syslog facility values to/from strings. */ struct SyslogFacility { int value; SyslogFacility(int i=0) : value(i) {} }; struct SinkOptions : public qpid::log::SinkOptions { SinkOptions(const std::string& argv0); virtual ~SinkOptions() {} virtual qpid::log::SinkOptions& operator=(const qpid::log::SinkOptions& rhs); // This allows the caller to indicate that there's no normal outputs // available. For example, when running as a daemon. In these cases, the // platform's "syslog"-type output should replace the default stderr // unless some other sink has been selected. virtual void detached(void); // The Logger acting on these options calls setup() to request any // Sinks be set up and fed back to the logger. virtual void setup(qpid::log::Logger *logger); bool logToStderr; bool logToStdout; bool logToSyslog; std::string logFile; std::string syslogName; SyslogFacility syslogFacility; }; }}} // namespace qpid::log::posix #endif /*!QPID_LOG_POSIX_SINKOPTIONS_H*/